== Deploying Helix Web Services Helix Web Services can be deployed from a source tarball distribution or from installed packages. Starting up web services from a source tarball is similar to working with code checked out from our source distribution. To be clear, Helix Web Services will be set up to run a single application server instance. This application server will run on an unprivileged port, like 9000. It's expected that Helix Web Services would be a part of a greater ecosystem of web applications, likely proxied by a web server such as Nginx. Our package installation includes a post-install configuration script that configures other services on the local machine to make it easy. === Deploying from a source tarball The following steps will launch a Helix Web Services instance in the current terminal session. This is not intended for a production installation, but may be valid for evaluating the product or experimenting with customizing Helix Web Services from source. Prerequisites to working with our source tarball: 1. Ruby 2.2 2. An installed Perforce server Other Ruby variations will likely work, we do not test them. Installation steps: 1. Run: `tar xzf helix-web-services-[VERSION].tar.gz` 2. Run: `cd helix-web-services-[VERSION]/helix_web_services` 3. Run: `bundle install` 4. Run: `bundle exec rake db:init db:migrate` 5. Setup environment configuration (see <<_environment_configuration>>) 6. Run: `bundle exec foreman start` === Deploying from Packages NOTE: Right now you can only obtain packages from an internal build instance of Perforce. This assumes you have obtained the appropriate tarball, and unpacked it. Install the package using the appropriate platform tool: - On Debian or Ubuntu systems, run `dpkg -i helix-web-services-[VERSION].deb` - On Redhat or CentOS systems, run `rpm -i helix-web-services-[VERSION].rpm` After installation, run the configuration script: ``` sudo /opt/perforce/helix-web-services/bin/hws_configure ``` If this machine already has an existing nginx or perforce server configuration, you will have to manually configure /etc/nginx/nginx.conf or adjust the system configuration for Helix Web Services. See <<system_configuration>>.
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#12 | 15622 | tjuricek |
Move source code to 'source/' subdirectory of branch. build/ will remain where it is. |
||
#11 | 15483 | tjuricek |
Add a new 'hws_console` application to the deployment. This should give users the ability to use the Ruby client for quick and dirty debugging of issues with HWS. Since it's so easy, I've added it to the deployment guide. |
||
#10 | 15460 | tjuricek | Add notes on service startup in deployment | ||
#9 | 15132 | tjuricek | Provde a basic submit -e mechanism on classic perforce workspaces. | ||
#8 | 15073 | tjuricek | Update Auth::Middleware and add spec | ||
#7 | 15038 | tjuricek | Document 'login' auth method and client programming overview. | ||
#6 | 15032 | tjuricek |
Starting config and doc revisions. System is now broken while revisions underway. Configuration of the p4d connection is now done via a single HWSSettings middleware object injected into the Rack env. The HWSP4Cleanup middleware now cleans up any p4 injected into the Rack env. The Auth::App class now mostly just contains one method to generate a p4 ticket. /auth/v1/login. Added yard documentation for the main project. Yard docs have been reconfigured to dump into build/ directories. This should probably be done with each release. Hm... The top level rake file contains a task, 'all:doc', to update our documentation. This should probably be run for each checkin. Hm... Specs are now using Rack::Test on top of a 'live' p4d. I'd suggest you still use the p4util mechanism, which now dumps to a /tmp folder, so we can safely add P4IGNORE rules back into your local .p4config file. Old 'perforce' application now called 'helix_versioning_engine'. Removing cache data. Helix Sync may be slow. It may also get axed. We'll see. |
||
#5 | 14980 | tjuricek |
Starting to make revisions to the Asciidoc guide. These are just revisions to the preable sections. |
||
#4 | 14183 | tjuricek | Updating deployment guide and design of CD pipeline. | ||
#3 | 14020 | tjuricek | Simple project creation for the Project Management UI | ||
#2 | 13612 | tjuricek | Update deployment guide, switch built documentation to asciidoc, remove unused packaging script for p4_web_api | ||
#1 | 13555 | tjuricek |
Starting Asciidoc conversion of documentation. Removed the "Shared Quality" document, that basically is online now at: https://confluence.perforce.com:8443/display/PWS/Quality+Assurance Adding some topology graphviz images used for online documentation. |