【注意】环境说明
1. 使用Docker 20.10.9版本,不要使用1.13.1版本,该版本在jenkins使用docker命令时会说找不到配置文件!
2. 云厂商:阿里云ECS服务器-CentOS7.8
3. 在安装JenKins之前要保证机子的配置要高!不建议使用虚拟机,不然卡或者缺少类库东西则麻烦
第一步:安装docker
# 1.先安装yml
yum install -y yum-utils device-mapper-persistent-data lvm2
# 2.设置阿里云镜像
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 3.查看可安装的docker版本
yum list docker-ce --showduplicates | sort -r
#4. 安装docker
yum -y install docker-ce-20.10.10-3.el7
#5. 查看docker版本
docker -v
#6. 启动docker
systemctl start docker
#7. 查看docker 启动状态
systemctl status docker
#查看端口占用命令安装
yum install -y lsof
第二步:安装Jenkins
1. 创建Jenkins持久化目录
mkdir -p /software/jenkins
2. 运行部署容器
docker run -d \
-u root \
--name jenkins \
-p 9302:8080 \
-v /software/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
jenkins/jenkins:2.319.3-lts-jdk11
第一行:表示将该容器在后台运行
第二行:表示使用root用户来运行容器
第三行:表示给这个容器命名,后面可以通过这个名字来管理容器
第四行:表示将主机的9302端口映射到8080端口上,后面就可以通过主机ip:9302来访问Jenkins,端口是可以更改的,根据自行需要
第五行:表示将本地/root/docker/jenkins目录映射为/var/jenkins_home目录,这就是第二步中的持久化目录。
第六、七行:表示把本地/var/run/docker.sock文件映射在容器中/var/run/docker.sock文件。这一步的目的就是为了把容器中的Jenkins可以与主机Docker进行通讯。
第八行:指定使用哪一个镜像和标签
3. 开放阿里云网络安全组开发端口 9302
jenkins后台管理:http://ip:9302
创建容器时,映射到了/software/jenkins路径,所以执行如下命令即可
cat /software/jenkins/secrets/initialAdminPassword
第三步:推荐插件安装
第四步:配置jenkins
插件页面下载插件
Maven Integration、docker Pipeline、docker API 、docker、docker commons
第五步:配置jenkins全局Git凭证
第六步:构建微服务脚本编写
git地址配置
Pre Steps打包构建配置
shell脚本中的内容解析
echo "登录阿里云镜像"
docker login --username=hbz645293829 registry.cn-shenzhen.aliyuncs.com --password=Aa15842460886
echo "构建dcloud-account"
cd dcloud-account
mvn install
ls -alh
docker login --username=hbz645293829 registry.cn-shenzhen.aliyuncs.com --password=Aa15842460886
解析:这个是阿里云的登录命令,请看图【镜像登录】
cd dcloud-account
mvn install
解析:进入到根目录,然后执行mvn install,请看图【进入根目录】
shell脚本中的内容进行图文解释
Post Steps 推送镜像配置
shell脚本中的内容解析
ls -alh
cd dcloud-account
ls -alh
echo "账号服务构建开始"
mvn install -Dmaven.test.skip=true dockerfile:build
docker tag dcloud/dcloud-account:latest registry.cn-shenzhen.aliyuncs.com/second-class/dcloud-account:v1.1
docker push registry.cn-shenzhen.aliyuncs.com/second-class/dcloud-account:v1.1
mvn clean
echo "账号服务构建推送成功"
echo "=======构建脚本执行完毕====="
cd dcloud-account
解析:进入到gitee对应的dcloud-account目录下
mvn install -Dmaven.test.skip=true dockerfile:build
解析:构建镜像
docker tag dcloud/dcloud-account:latest registry.cn-shenzhen.aliyuncs.com/second-class/dcloud-account:v1.1
配置镜像地址,具体命令哪里找,请看图【tag配置】
docker push registry.cn-shenzhen.aliyuncs.com/second-class/dcloud-account:v1.1
解析:推送到阿里云镜像仓库,具体命令哪里找,请看图【推送至阿里云镜像服务】
shell脚本中的图文解析
保存后成功的样子
第七步:构建微服务脚本编写
在根目录下,创建文件夹Dockerfile
内容:JDK1.8
FROM adoptopenjdk/openjdk8:jre8u-nightly
COPY target/dcloud-shop.jar dcloud-shop.jar
ENTRYPOINT ["java","-jar","/dcloud-shop.jar"]
jdk11
FROM adoptopenjdk/openjdk11:jre1u-nightly
COPY target/dcloud-shop.jar dcloud-shop.jar
ENTRYPOINT ["java","-jar","/dcloud-shop.jar"]
第八步:通过jenkins把镜像发布到阿里云镜像容器操作
1. 进入后台管理
http://ip:9302/
2. 点击指定微服务,然后立即构建即可
图文解析: