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.
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:
Staging Build
- Run on release candidate branches, ideally once; and occasionally, when a patch need to go in before release.
- Build the artifacts
- Update version, date, and docs, and push changes back to Github repository release candidate branch
Note that this build requirespandoc
to be available on the build machine. - Push artifacts to staging RAN
- Test that artifacts can be installed
- Items:
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:
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 - 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.
Windows
Location
URL: http://jenkins.sagebase.org:8080/computer/jenkins-windows-slave/
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
- 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.pem
- 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
Location
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
ssh
- Host macstadium
- user administrator
- HostName 207.254.40.252
- password is on Belltown /work/platform/PasswordsAndCredentials/AWS-ITCredentials/passwords.txt
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 Belltown /work/platform/PasswordsAndCredentials/AWS-ITCredentials/passwords.txt
Setup and Configuration
To setup a window slave machine, follow instructions in: Setting up a Windows Jenkins "slave" for R package builds.
To setup a Mac slave machine, follow instructions in: Setting up a Mac Jenkins "slave" for R package builds.