Skip to content

Add new Jenkins deployment workflow #522

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Nov 16, 2020
Merged

Conversation

korlaxxalrok
Copy link
Contributor

@korlaxxalrok korlaxxalrok commented Nov 14, 2020

Description

This PR adds new Jenkins functionality to simplify indicator deploys for the new repo development workflow.

It will work like this:

  • A merge to main:

    • Creates a venv for each indicator, handles package installation and setup,
      and then creates a package (at the moment a tar.gz).
    • Deploys each indicator to the staging environment.
  • A merge to prod:

    • Deploys each indicator to the production environment.

Changelog

Itemize code/test/documentation changes and files added/removed.

  • Add new Jenkinsfile
  • Add new supporting shell scripts

@korlaxxalrok korlaxxalrok changed the title ### Description This PR adds new Jenkins functionality to simplify indicator deploys for the new repo development workflow. Add new Jenkins deployment workflow Nov 14, 2020
@korlaxxalrok
Copy link
Contributor Author

@chinandrew @krivard We should convene to make sure that we have all the indicators in main before we merge this. I'll need to make a couple of changes as well as I have a test directory configured in a few places as a fail safe.

@korlaxxalrok korlaxxalrok marked this pull request as draft November 14, 2020 01:33
@chinandrew
Copy link
Contributor

@chinandrew @krivard We should convene to make sure that we have all the indicators in main before we merge this. I'll need to make a couple of changes as well as I have a test directory configured in a few places as a fail safe.

Which indicators are outstanding? DV, quidel [covidtest], fb-survey (in R), and maybe one other?

@korlaxxalrok
Copy link
Contributor Author

@chinandrew I think initially we might only need to make sure that we account for what is running in production, so that would be:

changehc
google_health
jhu
quidel_covidtest
safegraph
usafacts

Nothing else is scheduled in Automation yet so wouldn't be much of a problem if initially we unpacked the code into the runtime dir.

For the initial merge, I think something like this makes sense:

  • Update test directories
  • Publish PR
  • Take a backup of the Jenkins artifact dir
  • Take a backup of the staging runtime dir
  • Merge

We can give it some time to settle in, and then get it over to prod (I want to take a backup of the prod runtime dir before we do that).

@korlaxxalrok korlaxxalrok marked this pull request as ready for review November 16, 2020 18:24
@korlaxxalrok
Copy link
Contributor Author

Ok, looks like this now:

  • Update test directories
  • Publish PR
  • Take a backup of the Jenkins artifact dir
  • Take a backup of the staging runtime dir
  • Merge

@korlaxxalrok
Copy link
Contributor Author

@krivard I can't accept those changes because I've already made them as further commits outside of the PR convo and they are now 'Outdated'. I think I broke the PR workflow a little bit.

At any rate, I think we can merge this.

  • Issue is filed.
  • Directory backups are taken.
  • Production directories are configured.

When we merge to main this will build+package and then deploy to staging. This is mostly inconsequential at the moment, but will be good to see in action.

Copy link
Contributor

@krivard krivard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, apologies for the weird changes confusion

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants