This document records the Jenkins builds set up for synapser dev/staging/validation/release and information about the workers that are used for the builds.
Table of Contents | ||
---|---|---|
|
Build Items
Below are the items created to cover the workflow mentioned in synapser dev/staging/validation/release. Please read the mentioned document before reading this section. If you wish to modify this section, please consider updating the mentioned document accordingly.
Dev Build
- Run on every push
- Make sure new changes do not break the build
- Do not make change to Github repository
- Do not push artifact to RAN (or staging RAN)
- Item:
- http://jenkins.sagebase.org:8080/job/synapser_-dev/
Staging Build
- Run on release candidate branches, ideally once; and occasionally, when a patch need to go in before release.
- Build the artifacts
- Do not make change to Github repositoryUpdate version, date, and docs, and push changes back to Github repository release candidate branch
Note that this build requirespandoc, and libxml2
to be available on the build machine. - Push artifacts to staging RAN
- Test that artifacts can be installed
- Items:
- http://jenkins.sagebase.org:8080/job/synapser-staging/
- http://jenkins.sagebase.org:8080/job/synapser_-staging_artifact-deploy/
- http://jenkins.sagebase.org:8080/job/synapser_staging_deploy-check/
Release Build
- Run when a version is released.
- Do not make change to Github repository
- Push artifacts to RAN
- Test that artifacts can be installed
- Item:
- http://jenkins.sagebase.org:8080/job/synapser_-prod_deploy/-deploy/
- http://jenkins.sagebase.org:8080/job/synapser-check/
Future Work
- Append an item to run right after release build item, testing the deployment:
- Download and install the artifacts on different platform and versions of R - DONE
- Load the synapser library and verify that it works (by running the integration tests)
Workers
Windows
URL: http://jenkins.sagebase.org:8080/computer/jenkins-windows-slave/
Location
The EC2 machine is under the AWS account aws-it@sagebase.org
The password to the AWS account is on Belltown /work/platform/PasswordsAndCredentials/AWS-ITCredentials/passwords.txt
The machine name is jenkins-slave-windows-2017-Sep-29
As seen in the AWS console the address is 34.215.128.118
The region is US West (Oregon)
Access
...
- - DONE
- Build docs - DONE
Build Scripts
Besides jenkins.sh
, most build scripts can be found here: https://github.com/Sage-Bionetworks/CI-Build-Tools
Workers
These workers are being used to run r packages on different platform. They could be disconnected for various reasons. This section lists the workers and instructions on how to access them. So that one can re-connect the worker when needed.
In May 2019, while working on
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
- Each build machine should only responsible for 1 version of R. (This decision was made because R v3.5 requires uninstall old versions of R.)
- Build machine will has labels
<mac/windows/linux>-RVERS-<version>
. For example:mac-
.RVERS
-3.6
Windows
Location
The EC2 machine is under the AWS Synapse dev account (449435941126).
Access
- To log in to the Window machine, first get the password from AWS console:
- Click Actions > Connect > Get Password
- Enter the contents of /work/platform/PasswordsAndCredentials/AWS-ITCredentials/awsit-keypair-west.pemUpload the
.pem
file to retrieve the password
- Install Microsoft Remotes Desktop client
- Chose New, and enter the following:
- PC Name: enter IP address
- User name: Administrator
- Password: As returned by AWS
Ubuntu
Access
- Host jenkins-linux-slave
- user ubuntu
- HostName ec2-52-10-253-155.us-west-2.compute.amazonaws.com
- IdentityFile ~/.ssh/awsit-keypair-west.pem
Mac
...
Location
Access
- To log in to the ubuntu machine, get the instruction from AWS console.
- Modify the instruction to use private IP address instead of public one.
- Run the
ssh
command in terminal.
Mac
Location
...
Access
ssh
- Host georgetownmacstadium
- user sagebio
- HostName 140.107.149.88
- password is on Belltown /work/platform/PasswordsAndCredentials/AWS-ITCredentials/passwords.txt
To restart, run the following command seen on the page:
java -jar slave.jar -jnlpUrl http://ec2-54-245-172-65.us-west-2.compute.amazonaws.com:8080/computer/georgetown.fhcrc.org/slave-agent.jnlp -secret xxxx &
- user administrator
- HostName 207.254.40.252
- password is on lastpass
From your Mac
- From Finder, choose Go > Connect to server ... on the menu bar
- Enter serve address: vnc://207.254.40.252
- Click Connect. It will prompt you for username and password:
- username: administrator
- password: on lastpass
Setup and Configuration
To setup a window worker machine, follow instructions in: /wiki/spaces/IT/pages/176390212.
To setup a Mac worker machine, follow instructions in: /wiki/spaces/IT/pages/230621187.