Github+Jenkins+Docker持续集成

这次要做的就是我本地git push到github后,jenkins自动构建

注意:本次课程jenkins必须有公网ip,保证github可以通知jenkins构建。

公网ip服务器

跟我一起学docker(11)--jenkins+github+Docker_jenkins

登陆github

跟我一起学docker(11)--jenkins+github+Docker_jenkins_02

跟我一起学docker(11)--jenkins+github+Docker_docker_03

https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

跟我一起学docker(11)--jenkins+github+Docker_学习_04

跟我一起学docker(11)--jenkins+github+Docker_开发_05

一路回车

1.配置Github

设置秘钥登录

生成密钥:

跟我一起学docker(11)--jenkins+github+Docker_docker_06

在github设置密钥(公钥):

跟我一起学docker(11)--jenkins+github+Docker_jenkins_07

跟我一起学docker(11)--jenkins+github+Docker_jenkins_08

设置带权限的access_token

跟我一起学docker(11)--jenkins+github+Docker_开发_09

选择新建token

跟我一起学docker(11)--jenkins+github+Docker_开发_10

设置token:

跟我一起学docker(11)--jenkins+github+Docker_开发_11

生成token密钥:

跟我一起学docker(11)--jenkins+github+Docker_docker_12

跟我一起学docker(11)--jenkins+github+Docker_jenkins_13

2.配置Jenkins

跟我一起学docker(11)--jenkins+github+Docker_docker_14

跟我一起学docker(11)--jenkins+github+Docker_jenkins_15

安装git、github插件

跟我一起学docker(11)--jenkins+github+Docker_docker_16

跟我一起学docker(11)--jenkins+github+Docker_学习_17

配置系统环境

跟我一起学docker(11)--jenkins+github+Docker_开发_18

跟我一起学docker(11)--jenkins+github+Docker_部署_19

跟我一起学docker(11)--jenkins+github+Docker_开发_20

跟我一起学docker(11)--jenkins+github+Docker_开发_21

添加token密钥:

跟我一起学docker(11)--jenkins+github+Docker_部署_22

跟我一起学docker(11)--jenkins+github+Docker_开发_23

验证通过:

跟我一起学docker(11)--jenkins+github+Docker_docker_24

已经变更了名称不在上一长串了:

跟我一起学docker(11)--jenkins+github+Docker_部署_25

Job配置

跟我一起学docker(11)--jenkins+github+Docker_docker_26

跟我一起学docker(11)--jenkins+github+Docker_开发_27

添加密钥(私钥)

跟我一起学docker(11)--jenkins+github+Docker_docker_28

跟我一起学docker(11)--jenkins+github+Docker_学习_29

跟我一起学docker(11)--jenkins+github+Docker_开发_30

#存储路径

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


跟我一起学docker(11)--jenkins+github+Docker_开发_31

跟我一起学docker(11)--jenkins+github+Docker_docker_32

跟我一起学docker(11)--jenkins+github+Docker_docker_33

跟我一起学docker(11)--jenkins+github+Docker_开发_34

跟我一起学docker(11)--jenkins+github+Docker_学习_35

跟我一起学docker(11)--jenkins+github+Docker_部署_36

跟我一起学docker(11)--jenkins+github+Docker_部署_37

跟我一起学docker(11)--jenkins+github+Docker_开发_38

跟我一起学docker(11)--jenkins+github+Docker_jenkins_39

跟我一起学docker(11)--jenkins+github+Docker_开发_40

跟我一起学docker(11)--jenkins+github+Docker_学习_41

跟我一起学docker(11)--jenkins+github+Docker_jenkins_42

跟我一起学docker(11)--jenkins+github+Docker_开发_43

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