欢迎访问我的博客,你的支持,是我最大的动力!

基于Docker+Jenkins+Git的发布环境

Docker 小马奔腾 12769℃ 评论
目录:
[显示]

流程概括

1、通过Docker管理Jenkins资源

2、通过Jenkins创建Docker镜像

整体流程:

 

构建与发布:

Jenkins执行编译>Docker中运行服务>操作可跟踪

环境要求:

一台提供Git服务的服务器,也可以直接使用Github

一台运行Jenkins服务的服务器(Tomcat)

一台或若干Docker宿主机服务器

Jenkins软件包及组件的安装

总体实验环境

服务 IP 说明
Git 172.16.1.8
Docker 172.19.10.201
Jenkins 172.19.10.232 https://www.jenkins.io/  LTS2.32.3>2.73.3

创建tomcat的用户,并使用tomcat用户来进行操作;而对于docker则是使用root用户进行操作

apache-maven-3.3.3

jdk1.7.0_60

tomcat-7.0.34

将jenkins.war下载到 -P tomcat-7.0.34/webapps/

他这个目录下还有docs,examples,host-manager,manager,ROOT等目录

启动tocat-7.0.34/bin/catalina.sh start

查看日志输出tail -100f tomcat-7.0.34/logs/catalina.out  在日志中会生成一个admin的密码,同时,密码也保存到/home/tomcat/.jenkins/secrets/initialAdminPassword文件中

在浏览器中打开页面:172.19.10.232:8080/jenkins  进入后也会告诉密码的存放位置

选择要安装的插件:Git plugin/Git Parameter Plug-in/GitLab Plugin/Publish Over SSH/SSH plugin

创建管理员帐户

搭建Docker宿主机

修改主机名:hostnamectl set-hostname docker01

国内:get.daocloud.io

创建用户:useradd docker -d /home/docker -s /bin/bash

设置密码:echo "docker:docker" | chpasswd

创建目录:mkdir /data/dockerfiles/scripts -p

Docker脚本:vi /data/dockerfiles/scripts/deplay.sh

chmod +x /data/dockerfiles/scripts/deplay.sh

chown docker:docker /data/dockerfiles -R

用于在Jenkins中调用,通过脚本完成对工程的部署

service docker start

docker search tomcat  搜索镜像

docker pull tomcat

使用docker加速器,需要重启一下docker服务

Jenkins全局配置

系统管理>Global Tool Configuration

来自于more apache-maven-3.3.3/conf/settings.xml  记录本地仓库的路径/用户/密码等的配置信息

默认设置:

Maven Configuration:Setting file in filesystem

File Path:/home/tomcat/apache-maven-3.3.3/conf/setting.xml

全局设置:

Maven Configuration:Global setting file in filesystem

File Path:/home/tomcat/apache-maven-3.3.3/conf/setting.xml

JDK

别名:jdk1.7

JAVA_HOME:/home/tomcat/jdk1.7.0_60

Git

Name:Default

Path to Git executable:git

Maven

Name:maven

MAVEN_HOME:/home/tomcat/apache-maven-3.3.3

保存

系统管理>系统设置

Publish over SSH

SSH Servers:

Name:172.19.10.201_docker01

Hostname:172.19.10.201

Username:docker

Remote Directory:/data/dockerfiles

高级Password:docker

测试连接:Test Configuration

系统管理>管理插件

可选插件>Maven Integration plugin>安装

创建和配置发布任务

创建一个新的任务定义一个项目名称:Enter an item name>构建一个maven项目>OK

General:勾选丢弃旧的构建,保持构建的最大数设置为10个;勾选参数化构建过程,设置Git Parameter,Name:release_branck,Parameter Type:Branch;String Parameter:Name:project_name,默认值:first_docker_proj01

源码管理:选择Git,Repository URL:http://172.16.1.8/libingyang/hellp_docker.git,然后添加鉴权:用户名/密码方式,Branches to build:$release_branch

Build:Goals and options:clean package -DskipTests=true

构建后操作:Send build artifacts  over SSH,

Transfers:Source files:target/*.war,Remove prefix:target/  拿掉前缀,Remote directory:/war/$project_name,Exec command:/data/dockerfiles/scripts/deploy.sh $project_name hello_docker $release_branch 11000 8080 >保存

Build with Parameters:选择好参数后,开始构建

Jenkins实现工程的集群发布

配置刚创建的发布任务

Send build artifacts over SSH添加多台主机

 

附:脚本文件

 

 

参考资料:

1、视频:http://edu.51cto.com/course/8640.html

 

 

 

 

 

 

转载请注明:轻风博客 » 基于Docker+Jenkins+Git的发布环境

喜欢 (0)or分享 (0)