Skip to content

Application Portfolio App Workflow

Thomas Scherz edited this page Jul 29, 2024 · 5 revisions

Development Workflow

  1. Clone the application_portfolio repo
    git clone [email protected]:uclibs/application_portfolio.git
    cd application_portfolio

  2. Create a new feature branch based on the qa branch
    git checkout qa
    git pull
    git checkout -b feature/#issuenum-branch-name

  3. Run bundler. (if bundler fails with mysql errors, comment out gem 'mysql2' in the Gemfile and run bundler again)
    bundle install

  4. Run the database migrations.
    bundle exec rake db:migrate

  5. Start the rails server.
    rails server

  6. Make sure the app is up and running.
    http://localhost:3000

  7. Make your changes.

  8. Commit your changes to local Git repository.

  9. Run spec tests locally. Make sure they all pass.
    bundle exec rake spec

  10. Push changes to remote feature branch.
    git push origin feature/#issuenum-branch-name

  11. On github.com, open a new pull request for your feature branch.

  12. Make sure Coveralls tests passes. https://coveralls.io/github/uclibs/application_portfolio

  13. After someone else has merged the pull request, delete the feature branch. Do not merge your own pull requests.

  14. Close the resolved issue.

Deployment Workflow

Deploy to curly server (curly.libraries.uc.edu:3000)

  1. Create a release branch based on the qa branch.
    git checkout -b release

  2. Make any changes and commits needed.

  3. Push the release branch to GitHub
    git push origin release

  4. Run cap curly deploy and use webapp credentials for the deploy to succeed.

  5. Make sure that environment variables have site, secret key for reCaptcha purpose.

Deploy to QA server (libappstest.libraries.uc.edu/application_portfolio)

  1. Complete the Change Management Form.
  • Wipe Content
  • Request Security Scan
  • Request Accessibility Scan
  1. Run through the Manual Test Script on QA.

  2. Update the CHANGELOG.md with changes for this release

  3. Deploy to QA branch using curly.
    cap qa deploy

Deploy to Production server (libapps2.libraries.uc.edu/application_portfolio)

  1. Make sure you've run manual test script on QA server (libappstest.libraries.uc.edu/application_portfolio).

  2. Merge the qa branch into the master branch
    git checkout main
    git pull
    git merge qa

  3. Push the main branch to GitHub
    git push origin main

  4. In the main branch, tag a new release in Git and push it to the remote.
    git checkout master
    Example- git tag -a v1.4.0 -m '10-01-2014'
    git push --tags

  5. Update the CHANGELOG.md with changes for this release

  6. Deploy to Production after Change Management Request is APPROVED.
    cap production deploy

  7. Make any needed changes to the server environment (cron jobs, etc.)

    • Recaptcha keys
  8. Close the milestone if not already done