持续集成 使用jenkis发布docker项目

环境搭建:

     1.docker 安装:

      系统使用版本应大于centos7 不然安装需要升内核特别麻烦 centos7一下升内核自行百度

使用 yum 安装(引用菜鸟教程):

安装一些必要的系统工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存:

sudo yum makecache fast

安装 Docker-ce:

sudo yum -y install docker-ce

启动 Docker 后台服务

sudo systemctl start docker

2.拉去jenkins镜像

进入jenkins官网 :https://jenkins.io/ 

 

   

 

持续集成 使用jenkis发布docker项目_第1张图片

持续集成 使用jenkis发布docker项目_第2张图片

执行 : docker pull jenkins/jenkins

持续集成 使用jenkis发布docker项目_第3张图片

镜像拉完后执行:docker images查看镜像

持续集成 使用jenkis发布docker项目_第4张图片

启动容器:  

docker run -d  -p 8080:8080  jenkins/jenkins 或者 docker run -d  -u root  -p 8080:8080 【IMAGE ID】

-d 以守护线程后台方式运行。不加该参数,关掉命令行,docker的jenkins就随之停止了。

 -p  端口映射 docker命令所有映射,都是真系统的在前,docker下的在后 例如 -p 80:8080  就是把docker下的8080端口映射到真正系统上的80端口。对外访问使用80端口进行访问

执行完在查看容器是否执行成功 : docker ps 

http://localhost:8080登陆jenkins(访问不了可以试下执行 service iptablse stop临时关闭防火墙):

 需要获取解锁jenkins的秘钥 

持续集成 使用jenkis发布docker项目_第5张图片

根据界面提示的路径去获取秘钥 这里其实不需要 我们之间看运行日志就能获取到

执行 : docker logs -f 【CONTAINER ID】这里容器id就是执行docker ps 后获取到的id

持续集成 使用jenkis发布docker项目_第6张图片

复制秘钥就能登录了

登录后会显示插件安装  这里选择自动安装

持续集成 使用jenkis发布docker项目_第7张图片

持续集成 使用jenkis发布docker项目_第8张图片

慢慢等待安装结束吧!!!

持续集成 使用jenkis发布docker项目_第9张图片

创建管理员账号密码

持续集成 使用jenkis发布docker项目_第10张图片

直接下一步 

持续集成 使用jenkis发布docker项目_第11张图片

起飞了 主界面如下

持续集成 使用jenkis发布docker项目_第12张图片

安装插件:

系统管理 -> 插件管理 在可选插件里搜索

Maven Integration

Publish Over SSH

持续集成 使用jenkis发布docker项目_第13张图片

 

 

持续集成 使用jenkis发布docker项目_第14张图片

持续集成 使用jenkis发布docker项目_第15张图片

配置全局: 系统管理 -> 全局工具配置

持续集成 使用jenkis发布docker项目_第16张图片

JDK和git容器已经安装了 maven需要手动安装 解压好找到setting.xml配置就行了

这里可以用wget下载直接解压就可以

cd  /usr/local/

mkdir maven

cd maven

wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz

 tar -zxvf ./apache-maven-3.2.5-bin.tar.gz

持续集成 使用jenkis发布docker项目_第17张图片

系统管理 -> 系统设置

找到 Publish over SSH 点新增 ->高级 配置连接服务器的地址 用户名和密码

 

持续集成 使用jenkis发布docker项目_第18张图片

持续集成 使用jenkis发布docker项目_第19张图片

这里系统配置完成了!!!

新建任务 ->构造一个maven项目 取名 jenkins_docker

持续集成 使用jenkis发布docker项目_第20张图片

配置git地址 这样jenkins才能知道去哪里拉代码

持续集成 使用jenkis发布docker项目_第21张图片

需要配置下git用户名和密码 点击 添加

持续集成 使用jenkis发布docker项目_第22张图片

持续集成 使用jenkis发布docker项目_第23张图片

配置构建指令和pom文件地址 pom文件地址就是项目里面pom文件地址如果在根目录直接填pom.xml

持续集成 使用jenkis发布docker项目_第24张图片

配置 Post Steps 

持续集成 使用jenkis发布docker项目_第25张图片

 

持续集成 使用jenkis发布docker项目_第26张图片上面配置完成我们已经可以把jar包上传到/usr/local/docker了 

目录随便自定义 但是要保证jar包要和Dockerfile在同一个目录

在用jenkis构建前我们需要在linux创建这个目录并且写一个docker构建脚本 

cd /usr/local

mkdir docker

cd docker

mkdir Dockerfile

把下面脚本复制进去 包名按照自己项目名字改

FROM registry.cn-hangzhou.aliyuncs.com/qp_oraclejava/orackejava:8u172
VOLUME /tmp
ADD jenkins-0.0.1-SNAPSHOT.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
EXPOSE 8081
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

构建脚本:

docker stop $(docker ps -a |  grep "tututu*"  | awk '{print $1}');
docker rm $(docker ps -a |  grep "tututu*"  | awk '{print $1}');
docker rmi tututu/jenkins;
docker build -t tututu/jenkins /usr/local/docker/;
docker run -d -p 8081:8081 tututu/jenkins

持续集成 使用jenkis发布docker项目_第27张图片

持续集成 使用jenkis发布docker项目_第28张图片

持续集成 使用jenkis发布docker项目_第29张图片

持续集成 使用jenkis发布docker项目_第30张图片

 

持续集成 使用jenkis发布docker项目_第31张图片

你可能感兴趣的:(jenkins)