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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟我一起学docker(11)--jenkins+github+Docker相关的知识,希望对你有一定的参考价值。

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


往期docker学习:

认识docker

核心概念和安装

镜像的常用操作

容器的基本操作

仓库

数据卷

Dockerfile

技术分享图片


以上是关于跟我一起学docker(11)--jenkins+github+Docker的主要内容,如果未能解决你的问题,请参考以下文章

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

跟我一起学docker--jenkins的使用

跟我一起学docker(18)--持续集成(初级终结篇)

跟我一起学docker(14)--docker swarm的使用

跟我一起学docker--网络

跟我一起学docker--镜像的常用操作