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.
...
- 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 Update 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/http://jenkins.sagebase.org:8080/job/synapser_staging_-staging-deploy/
- http://jenkins.sagebase.org:8080/job/synapser_-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/
- 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 - 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)
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
Location
Access
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 macstadium
- user administrator
- HostName 207.254.40.252
- password is on Belltown /work/platform/PasswordsAndCredentials/AWS-ITCredentials/passwords.txtlastpass
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 slave worker machine, follow instructions in: Setting up a Windows Jenkins "slave" for R package builds/wiki/spaces/IT/pages/176390212.
To setup a Mac slave worker machine, follow instructions in: Setting up a Mac Jenkins "slave" for R package builds/wiki/spaces/IT/pages/230621187.