# Install gem dependencies for the p4_web_api into the local gemset. include: - perforce.web-services.p4webapi.gemset {% if pillar['deps.use_packages'] != True %} - perforce.web-services.p4webapi.deps-local-sources {% endif %} # In development modes, we actually find all of our package sources mounted # locally, typically shared with a host environment via Vagrant. In other cases, # we'll need to install these packages before running any other commands. {%if pillar['deps.use_packages'] == True %} p4-web-api: cmd.run: - name: dpkg -i /var/tmp/p4-web-api_{{ pillar['versions.p4_web_api'] }}-{{ pillar['versions.changelist'] }}_amd64.deb - unless: dpkg-query --showformat '${Status} ${Package} ${Version} ${Architecture}\n' -W | grep 'p4-web-api' - require_in: - cmd: p4_web_api bundle install # Package sources come with all gem dependencies, that need to be installed # into the local gemset p4_web_api bundle install: cmd.run: - name: {{ pillar['p4webapi.ruby.wrappers'] }}/bundle install --local - cwd: {{ pillar['p4_web_api.dir'] }} #- unless: {{ pillar['p4webapi.ruby.wrappers'] }}/gem list | grep p4_web_services_auth - user: webservices {% endif %} /var/lib/perforce/web-services/tokens: file.directory: - user: webservices - mode: 700 - makedirs: True
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#10 | 13972 | tjuricek |
Removing old microservice implementations. The system is now mostly a monolith. Eventually there will be a websocket service. |
||
#9 | 13552 | tjuricek | Added the 'eval' Vagrant box that uses our deployed packages. | ||
#8 | 13544 | 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 |
||
#7 | 13528 | 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 | 13525 | tjuricek |
Setup God to manage both the p4 web api and p4 project services processes. Apparently, there can only be one true god per machine. |
||
#5 | 13520 | 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. |
||
#4 | 13517 | tjuricek |
Revised Salt hierarchy to allow for CD clustering. Now, there are two main salt environments: 'build' and 'eval'. The 'eval' environment can be configured for testing or development by setting the Grain 'dev_pillar: True' or 'test_pillar: True'. The test modes may need a bit more effort to figure out exactly where I'll put the .deb files. The dev box passes p4_web_api tests. |
||
#3 | 13515 | tjuricek |
Initial configuration for the p4_project_services. The tests haven't been run yet, so it's likely missing some more configuration. Using vagrant to even manage these environments may not be our realistic CD premise. I may end up moving some more responsibility into the Salt layer, which would make vSphere automation easier. |
||
#2 | 13512 | tjuricek |
Add 'test-ubuntu12' environment that sets up projects based on "production" packages. Packages are installed from source files that should have been created by the last 'build-ubuntu12' environment. Since the package building process "dirties" up the environment it's better to use a clean system to test package installation. |
||
#1 | 13496 | tjuricek |
Complete and seed the setup of the p4webapi in a development mode. This works against the local development tree for dev environments. |