1. 准备工作
准备jdk8、maven3.3.9、jenkins.war三个包,上传到服务器上的同一个目录下(我这里在data/jenkins目录下)
三个包以及Dockerfile文件都在分享的网盘中的0000-soft/0004-jenkins/Dockerfile目录下
2. 构建docker镜像
1. 编写Dockerfile
FROM centos:7
MAINTAINER Zhang.mi <1204368312@qq.com>
ENV LANG C.UTF-8
ENV PROFILE default
ENV JAVA_HOME /usr/local/jdk8
ENV M2_HOME /usr/local/maven3.3.9
ENV PATH $JAVA_HOME/bin:$M2_HOME/bin:$PATH
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
RUN yum update
RUN yum install git -y
ADD apache-maven-3.3.9-bin.tar.gz /usr/local/
ADD jdk-8u111-linux-x64.tar.gz /usr/local/
RUN cd /usr/local/ && mv apache-maven-3.3.9/ ./maven3.3.9
RUN cd /usr/local/ && mv jdk1.8.0_111/ ./jdk8
ADD jenkins.war /usr/local/
CMD ["java", "-Xms256m", "-Xmx256m","-jar","/usr/local/jenkins.war", "--httpPort=8080"]
2. 构建镜像
docker build -t jenkins:1.0.0 .
3. 启动Jenkins容器
docker run -di --name jenkins -p 17002:8080 -v /data/docker/jenkins/:/root/.jenkins jenkins:1.0.0
挂载了一个目录,该目录是Jenkins的工作目录,包括工作空间、插件等,下面的步骤中备份的也是该目录。
4. Jenkins初始化设置、备份
1. 初始化密码获取
第一次进入Jenkins时,会提示说要输入密码,Jenkins的日志里有说明日志在 /root/.jenkins/secrets/initialAdminPassword文件中,我们这里挂载了目录,所以,我们在宿主机中查看即可
cat /data/docker/jenkins/secrets/initialAdminPassword
2. 安装推荐的插件
安装过程中,由于网络问题,可能会有一些插件安装失败,安装完成后右下角有提示“重试”,我们多重试几次,直到所有的推荐插件都安装完成。时间有点长,大概半个小时。
3. 设置admin账号
当所有推荐插件安装完成后,会提示输入管理员账号、密码、邮箱之类的,填入即可,填入的该账号、密码即超级管理员的账号密码,请妥善保存。
我这里填写的用户名是admin,密码也是admin
4. 配置全局工具
依次点击菜单 Manage Jenkins->Global Tool Configuration进入配置页面
1. jdk
2. maven
该处配置maven时,填入了Name的值为M2,这个东西在下面步骤的发布脚本中有用到,这里提一下。
3. git
5. 创建job任务
1. jar包发布
这种包只是个依赖的jar包,deploy到私服上即可,其他同事可以通过maven到私服上下载。
2. 应用服务发布
应用服务,需要部署到服务器上运行。