build.sh #2

  • //
  • guest/
  • tjuricek/
  • p4ws/
  • config/
  • build.sh
  • Commits
# Change User Description Committed
#2 15791 tjuricek Removing very old p4ws branch
#1 13266 tjuricek Reorganized depot to avoid stream/main in path.

This may be re-imported.
//guest/tjuricek/p4ws/stream/main/config/build.sh
#22 13260 tjuricek Agh, running 'rake clean' deletes the pkg directory.

The EC environment automatically removes everything here, so this was somewhat superfluous anyway.
#21 13258 tjuricek Enable debug logging of 'omnibus build' step
#20 13257 tjuricek Add /var/cache/omnibus to cleanup routine.

It appears that any "file sync" by omnibus first copies files to this cache directory, then syncs to the output folder. We may, however, have issues with file permissions and this temporary folder.
#19 13256 tjuricek Adding log messages regarding what omnibus actually output.

The test is failing on push of the built packages back to master on the EC cluster. Probably the wrong file name.
#18 13254 tjuricek Revise package and gem versioning.

Packages will use [gem]-[changelist] as their versions. Gems will use a standard Ruby MAJOR.MINOR.REVISION format.

P4WEBAPI-64
#17 13253 tjuricek Force charset to be auto for the 'p4util' call to initialize test data
#16 13252 tjuricek Enable configuration of the build minion via environment variables.
#15 13251 tjuricek Set 'runas' to $build_user for the create_omnibus_package command, since it executes out on build machines
#14 13250 tjuricek Allow the 'wrapper directory' configuration to follow from the build user, which is different in the EC setup.
#13 13249 tjuricek The salt/srv configuration may lie in a different system account on some setups, so allow that to be configured.
#12 13248 tjuricek Allow the system user on the build minion to be different from the system user on the local master.
#11 13247 tjuricek Switch to 'stream config' and add some diagnostic commands.
#10 13246 tjuricek Remove rvm 'path' initialization.

In non-interactive environments, the 'rvm' command likely isn't there, and most local references should be via a wrapping script. This may impact the use of rake, which can be used to launch other tasks via sub-shell commands.

I believe the original inclusion of the rvm command here was for calling 'p4util init' on the test environment, which doesn't appear to be needed.
#9 13245 tjuricek Add notification_services to deployment, and reconfigure build step to exec bash.

The execution bit doesn't seem to stay set on config/bash.sh

The notification_services service doesn't have advanced tests just yet.
#8 13240 tjuricek Add p4_phoenix_services package and Salt configuration for deployment.

This uncovered a couple of issues from the C++ API during it's conversion to C++03.

So, in a nutshell, most operations, except for notifications, appear to be working (well, using Vagrant machines).
#7 13238 tjuricek Moved rack and app server configuration to be managed via Salt.

Also, only using a single value "url" to configure how the p4_project_services instance references the p4_web_api.

And, removing the Docker setup, since that won't work for a production system.
#6 13237 tjuricek Added a basic p4-project-services .deb package

There is some kind of configuration issue with the production config that causes tests to fail. The service is running, however, so this is likely related to having a few things not managed via salt.
#5 13234 tjuricek Add a quick message to make it easy to verify just a couple of environment variables when running manually.

When monkeying around in Vagrant, it's easy to sudo su [someone else] and watch things fail.
#4 13233 tjuricek Add the ability for the script to change it's directory location easily, and revise references to RVM wrapper script paths to make it a wee bit more readable.
#3 13232 tjuricek Set up build.sh to create p4ws-all.tgz as the only real artifact of the build-test process.
This will contain all files that we will "publish" into pkg-ondemand for later consumption.

Note: exactly how the salt configuration is distributed is TBD.
#2 13231 tjuricek Adjust how rvm is configured on the build runs.

This may not work in the non-interactive EC environment. TBD.
#1 13230 tjuricek Created a 'cluster' build procedure that creates an installer on build, and executes the install on a test instance.

The main change is to package all gem dependencies via 'vendor/cache' (using the 'bundle package' command).

Right now, there appears to be an issue with test data initialization, which may need a revised approach.