How to install AppScale on Ubuntu 16.04 (Xenial)? - google-app-engine

When trying to install AppScale
root#node2391-ubuntu:~# wget -O bootstrap.sh http://bootstrap.appscale.com && bash ./bootstrap.sh
HEAD is now at a3087c2... Merge pull request #2410 from whoarethebritons/3.2.1
Note: checking out '3.2.1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at 6815257... Merge pull request #612 from whoarethebritons/3.2.1
Building AppScale...Updating package list and cache ...done.
Ubuntu/xenial is not supported.
failed!
root#node2391-ubuntu:~#
What is the work-arount to install Appscale on Ubuntu 16.04?

We are in the process of merging the pull request to build appscale in xenial. You can try to build it by hand using https://github.com/AppScale/appscale/pull/2437 or you can wait few days, while the branch is been reviewed and then merged.

Related

Problems when it comes to committing changes to git after running 'npm run deploy' on my react app

So I have successfully deployed my react project on GitHub pages, there are a lot of useful guides on how to do this. However I am having issues when it comes to updating the project (it is harder to find good guides on this)
So lets say I make a change to my project on the code as it exists in folders on my computer.
Then I will run 'npm run deploy'. After doing this, I can see my changes have been successfully implemented on my online deployed site, so all good.
Then I run the following code to push the changes into the repository:
git add .
git commit -m "update"
That works fine, but I get an error at the next step:
git push -u origin master
When I do this I always get the same error message in the terminal:
error: failed to push some refs to 'https://github.com/redacted/redacted.github.io.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Can anyone please explain what is happening here, and what this error message means.
In the error message, does 'remote' mean the code as it exists in the GitHub repo, and 'local' mean the code on my computer? Why does the remote code and local code diverge after running 'npm run deploy'? In future, what is the best way for me to update the repository so that I don't keep running into this problem.
If it's important, here are my scripts on the package.json file:
"predeploy": "npm run build",
"deploy": "gh-pages -b master -d build",
hint: Updates were rejected because the remote contains work that you do
not [...] have locally.
There are commits on the remote that you don't have locally. To see them, you can use git diff. First, update the local representation of remote references in your repo:
git fetch
Now that you have an up-to-date local representation of what's on origin/master, you can see the differences with:
git diff origin/master
Git diff is one of the most important parts of the git tooling, so become acquainted with its syntax. This should show you what changes you've missed. you can also pull up the log of origin/master which will show the commit messages, authors, and dates with:
git log origin/master
If this loads up in an editor you don't recognize and the lower left of the screen is a : colon character, type q to quit. This program is called less.
All that helps you introspect the remote changes that you haven't incorporated locally. When you're ready to pull them into your own branch, simply issue:
git pull
This will apply missing commits to your local branch. If the local commits change the same lines as the remote commits, you'll end up with a git conflict. In this case you'll have to look at the conflicts and decide how to combine the two changes. Often, remote changes can be incorporated without causing any conflicts, but of course it depends on what's been changed on both sides.
A final note. What you absolutely do not want to do is git push -f. This will force push your changes to master, replacing its current history - in other words, you'll destroy the remote changes. Never do this. There's a time and a place for it, and once you get more comfortable with git diff and its behavior as a distributed change control system, you can revisit that advice.

yum database is locked

When I do yum update I get the following error response:
One of the configured repositories failed (Unkown),
and yum doesn't have enough cached data to continue. At this point the
only
safe thing yum can do is fail. There are a few ways to work "fix" this:
Contact the upstream for the repository and get them to fix the problem.
Reconfigure the baseurl/etc. for the repository, to point to a working
upstream. This is most often useful if you are using a newer
distribution release than is supported by the repository (and the
packages for the previous distribution release still work).
Run the command with the repository temporarily disabled
yum --disablerepo= ...
Disable the repository permanently, so yum won't use it by default. Yum
will then just ignore the repository until you permanently enable it
again or use --enablerepo for temporary usage:
yum-config-manager --disable
or
subscription-manager repos --disable=
Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:
yum-config-manager --save --setopt=.skip_if_unavailable=true
database is locked
I already did yum clean all, rm -f /var/lib/rpm/__db* and rpm --rebuilddb without any change.
After spending couple of days, finally fixed this error by deleting the following folder
/var/lib/yum/history

How to get `git-p4 sync` to work?

I've successfully created a git branch called 'scaffold' by using git-p4.py clone.
I now want to sync the latest Perforce changes into the git branch so I'm trying git-p4.py sync --branch=scaffold but all that happens is the output of the following:
Syncing with origin first, using "git fetch origin"
Creating/updating branch(es) in refs/remotes/p4/ based on origin branch(es)
Performing incremental import into scaffold git branch
Depot paths: //depot/depot/path/to/code/
No changes to import!
After that, git status says nothing to commit (working directory clean).
How do I get this to work?
The following worked for me on my desktop but fails with fast-import failed on Jenkins:
git checkout scaffold
git p4 sync --branch=scaffold //depot/path/to/code/...#all
git push ssh://git#example.com:7999/repository/project.git +remotes/p4/scaffold:scaffold

Hook to create/add a database dump file to repository on git pull

My aim is to minimize the steps needed to locally clone my website + database.
I have a central git repository on a webserver and a local clone. When I pull updates on my local machine, not only should I get the latest file versions from the remote repository but also should a script run on this webserver to dump the live database and additionally add it to the repository prior to delivering the pull.
My guess is that I need the following actions to happen on the remote machine when I fire git pull on the local machine prior to delivering the repository:
Create database dump file, e.g. dump.sql (by exectuting mysqldump)
Add dump.sql to repository
Commit dump.sql to repository
… and only then deliver the pull to the local machine.
What kind of git hook should I use for this?
I'd also appreciate any additional experience with such a scenario.
git help hooks lists the types of hooks and how they work, but there isn't a hook that you can use to do what you want (you'd need something like pre-upload that would be executed by git-upload-pack).
However, you could create a wrapper script around git-upload-pack on the server that performs the necessary actions and then executes the real git-upload-pack command:
find the git-upload-pack executable
rename it to git-upload-pack.real
create a new script called git-upload-pack somewhere in PATH that does the following:
use the arguments to find the Git repository
cd into the Git repository
if hooks/pre-upload exists and is an executable file:
run it
if the hook exited with a non-zero status:
print an error message to standard error
exit with a non-zero return value
run git-upload-pack.real with the original command-line arguments
create a hooks/pre-upload script in your Git repository that does whatever you want

Using post commit hook in visualsvn server to trigger a build in teamcity while obeying quiet period

How do I setup VisualSVN Server to trigger Teamcity to build a specific project after someone commits to it while obeying the set quiet period?
Right now I am using this in the post commit hook of visual svn server:
wget http://<user name>:<user password>#<server address>/httpAuth/action.html?add2Queue=<build type Id>
The problem with this is I need the build type ID to change depending on what project was committed to and the other problem is that it starts the build right away and ignores my set quiet period of 2 minutes.
Found the answer. Use the VCSupdate plugin for teamcity and use wget on thevcsupdate url for the vcs root.

Resources