Github+Jenkins+Docker持续集成
这次要做的就是我本地git push到github后,jenkins自动构建
注意:本次课程jenkins必须有公网ip,保证github可以通知jenkins构建。
公网ip服务器
登陆github
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
一路回车
1.配置Github
设置秘钥登录
生成密钥:
在github设置密钥(公钥):
设置带权限的access_token
选择新建token
设置token:
生成token密钥:
2.配置Jenkins
安装git、github插件
配置系统环境
添加token密钥:
验证通过:
已经变更了名称不在上一长串了:
Job配置
添加密钥(私钥)
#存储路径
SAVE_PATH=/tmp/job_files
#保存文件名称
FILE_NAME=`date "+%Y%m%d"`_${BUILD_NUMBER}.jar
#进入工作空间
echo "workspace = $WORKSPACE"
#docker 控制
sudo docker run --rm --name my-maven-project -v $WORKSPACE:$WORKSPACE maven:3.2-jdk-7 mvn clean install -f $WORKSPACE/pom.xml
sudo chown -R jenkins:jenkins $WORKSPACE
sudo chown -R jenkins:jenkins $SAVE_PATH
mv $WORKSPACE/target/*.jar $SAVE_PATH/$FILE_NAME
java -cp $SAVE_PATH/$FILE_NAME com.mycompany.helloworld.App
mv $WORKSPACE/target/*.jar $SAVE_PATH/$FILE_NAME
java -cp $SAVE_PATH/$FILE_NAME com.mycompany.helloworld.App
3.容器配置
更改主机系统配置
Docker的安装参考我的:手把手跟我一起学docker(一)
常见报错:
A:sudo: sorry, you must have a tty to run sudo
解决方式:
#Default requrrity(文件路径:/etc/sudoers)
图33
B:sudo: no tty present and no askpass program specified
解决方式:
Username ALL = NOPASSWD:ALL