提示:需基本熟悉docker命令、shell脚本、微服务部署、git命令、服务器基本命令、node、maven
服务器环境:Linux-EulerOS(华为自主研发服务器系统,与CentOS基本类似)
安装组件:docker20.10.19、openjdk1.8.0_191、maven3.8.6、git2.33.0、node16.17.1、npm9.1.2、jenkinsci/blueocean、docker-compose
远程工具:Xshell7、Xftp7
dokcer安装:快速安装Docker详细图文步骤教程
docker-compose安装:
离线方式
1、到官网下载docker-compose的离线包
下载地址:https://github.com/docker/compose/eleases
2、下载好离线包,把离线包放在指定目录下就不需要配置环境变量
mv docker-compose-linux-x86_64 /usr/local/bin/
#修改文件名
mv docker-compose-linux-x86_64 docker-compose
#授权
sudo chmod +x /usr/local/bin/docker-compose
#查看安装是否成功
docker-compose -v
在线方式
1、下载
因为Docker Compose存放在GitHub,可能不太稳定。可以通过DaoCloud加速下载
curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
您可以通过修改 URL 中的版本,自定义您所需要的版本文件。
授权
# 将可执行权限应用于该二进制文件
sudo chmod +x /usr/local/bin/docker-compose
查看
docker-compose --version
卸载
rm /usr/local/bin/docker-compose
自行搜索教程安装
mkdir -p /home/docker/jenkins
没有jenkins镜像会自动下载
docker run \
-u root \
-d \
-p 9100:8080 \
--restart always \
--privileged=true \
-v /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.191.b12-0.h23.eulerosv2r7.x86_64:/usr/java/jdk1.8.0_191 \
-v /usr/local/apache-maven-3.8.6:/usr/local/maven \
-v /usr/local/apache-maven-3.8.6/repo:/usr/local/maven_repository \
-v /usr/local/git/:/usr/local/git \
-v /home/docker/jenkins:/var/jenkins_home \
--name jenkins \
jenkinsci/blueocean
docker exec -it --user root jenkins /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
1.访问你配置的jenkins地址 服务器ip:9100
2.粘贴复制的密码解锁jenkins
3.创建管理员用户
4.进入全局工具配置
5.配置jdk
查看容器内jdk路径
docker exec -it --user root jenkins /bin/bash
echo $JAVA_HO
7.进入插件管理
8.参考安装maven插件、gitee插件、publish over ssh插件
点击可安装的—搜索—选择—安装
安装完成后可点击已安装的查看
若下载失败可参考以下方法:
升级Jenkins
我们安装的Jenkins可能不是最新版的,那么除了重新安装最新版的Jenkins,还有一种比较方便的升级方式。如果我们使用的不是最新版的,Jenkins会提示我们下载最新版,并给出链接
修改插件下载源
替换清华源插件管理->高级->升级站点,将URL替换为清华源:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
替换更新文件中的内容网上说的大部分都只有上面那一步,但是实际上是不生效的,我们需要再修改一个文件,在jenkins_home目录下updates/default.json文件,注意这个文件是在执行了上面的步骤才会生成,默认是没有的。将default.json文件中所有的update.jinkens.io/download替换为mirrors.tuna.tsinghua.edu.cn/jenkins,保存后重启Jenkins
docker exec -it --user root jenkins /bin/bash
sed -i 's/update.jinkens.io\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/jenkins_home/updates/default.json > result.xml
9.配置gitee、ssh
找到gitee配置
点击添加 ,选择gitee令牌,前往获取私人令牌,填入,id自定义
点击测试
找到
点击新增 配置服务器器连接 点击测试
确认无误后 点击应用 保存
点击配置
选择git进行配置
选择构建触发器 视情况自行配置
点击生成密码
前往gitee找到仓库设置 进行webhooks配置
项目打包配置及命令
选择增加构建步骤
工作目录
进入容器内容后查看
docker exec -it --user root jenkins /bin/bash
cd /var/jerkins_home/workspace/你定义的项目名
#!/bin/bash
echo "清理已有容器及镜像资源"
for container in {"gateway","auth","modules-system"}
do
image=docker_${container}
if docker ps | grep ${container} ;then
docker stop ${container}
fi
if docker ps -a | grep ${container};then
docker rm ${container}
fi
if docker images | grep ${image};then
docker rmi ${image}
fi
done
# 拷贝构建的jar包到宿主机
/home/docker/copy.sh
# 重新启动docker项目
/home/docker/deploy.sh modules
copy.sh
cp /home/sw/gateway/target/smartwater-gateway.jar /home/docker/sw/gateway/jar
cp /home/sw/auth/target/smartwater-auth.jar /home/docker/sw/auth/jar
cp /home/sw/modules/system/target/modules-system.jar /home/docker/sw/modules/system/jar
deploy.sh
#开启端口
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --add-port=8848/tcp --permanent
firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --add-port=9201/tcp --permanent
service firewalld restart
docker-compose up -d nacos nginx
docker-compose up -d gateway auth modules-system
docker-compose.yml以及dockerfile 自行查阅配置
夜色难免荒凉,前行必有曙光。