-
Notifications
You must be signed in to change notification settings - Fork 7
Setup CI
Mu Li edited this page Apr 28, 2019
·
13 revisions
A quick note to install CI.
- Ubuntu 16.04,
sudo apt-get update && sudo apt-get install build-enssential - CUDA 10.0 (if upgrade the cuda version, need to update
build/env.ymlin every d2l-* project - add
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/lib64into/etc/profile.d/cuda.shto enable cuda for all accounts - Miniconda 3
- Latex for PDF
sudo apt-get install texlive-full librsvg2-bin - Fonts for PDF
wget https://raw.githubusercontent.com/d2l-ai/utils/master/install_fonts.sh sudo bash install_fonts.sh
-
Install JRE
sudo apt-get install default-jre, check jenkins's requirement (https://jenkins.io/doc/administration/requirements/java/) -
Install and Start Jenkins by following https://www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-16-04
-
Use forward 80 port to 8080 (jenkins in default use 8080)
sudo iptables -A PREROUTING -t nat -i ens3 -p tcp --dport 80 -j REDIRECT --to-port 8080 sudo sh -c "iptables-save > /etc/iptables.rules" sudo apt-get install iptables-persistent
- Install suggested plugins, create an admin account
- You may need to restart jenkins to make it work (
sudo systemctl status jenkins) - Configure -> Configure Global Security: check "Allow anonymous read access"
- Install the following plugins: Blue Ocean, Embeddable Build Status, Environment Injector
- Install Miniconda3 for user
jenkins, you can switch user bysudo su - jenkins - Add environment in Jenkins -> configure system -> Environment variables, with Name
BASH_ENVand value/var/lib/jenkins/miniconda3/etc/profile.d/conda.sh, and NamePAHTwith value/var/lib/jenkins/miniconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin - Configure -> Shell executable: /bin/bash
-
pip install awsclito setup credential byaws configurefor user jenkins
- use multi-branch pipeline, add your github username/password in the credential. or simply create a job under the blue ocean interface.