# 官方提供@yunTaoScripts DEVEOPS 🔥🔥
# 配置docker远程调用
# 方式一
- 因为本机器上运行的一个容器会作为镜像仓库,所以需要编辑
/usr/lib/systemd/system/docker.service
,在 ExecStart 里添加--insecure-registry=192.168.26.9:5000
,又因为后续创建 jenkins 容器的时候,需要使用 vms9 上安装的 docker,所以需要添加-H tcp://0.0.0.0:2376
。 - 最终的效果变成了:
ExecStart=/usr/bin/dockerd --insecure-registry=192.168.26.9:5000 -H tcp://0.0.0.0:2376 -H fd:// --containerd=/run/containerd/containerd.sock
⏰
- 如果insecure-registry在daemon.json配了,就不用在ExecStart配了。
- 注意参数顺序,可能有问题。
# 配置Registry
# 配置Jenkis
# 安装
::: 注意选择镜像
docker pull jenkins/jenkins:latest
:::
docker run -dit --name=jenkins -p 8088:8080 --restart=always -v jenkins_data:/var/jenkins_home jenkins/jenkins:latest
- 等到出现 update 文件夹后,编辑
/var/jenkins_home/hudson.model.UpdateCenter.xml
,修改更新路径。
http://mirrors.tuna.tsinghua.edu.cn/jenkins
- 编辑
/var/jenkins_home/updates/default.json
{"connectionCheckUrl":"http://www.google.com/"
改成
{"connectionCheckUrl":"http://www.baidu.com/"
docker restart jenkins
# 修改时区
- 打开 【系统管理】->【脚本命令行】运行下面的命令
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')
- 因为jenkins是java开发,java环境读取的时间是根据/etc/timezone的。
root@b62434a5f6ff:/# cat /etc/timezone
Etc/UTC+8
# 安装插件
- 在 jenkins 主页面依次点击左侧的
系统管理
-插件管理
-可选插件
, - 选中
docker
和docker-build-step
,然后点击下面的直接安装。 - 安装注入环境变量插件
Environment Injector Plugin
- Publish Over SSH:实现远程登录,执行docker命令,推荐使用。
# 安装NPM
如果要构建nodejs应用,需要先下载nodejs到Jenkins容器中,确保容器可以运行node
和npm
。
# 构建脚本
if [ ! -d yunpress ];then
git clone git@github.com:yunTaoScripts/yunpress.git
echo "拉取完毕"
else
cd yunpress
git fetch
remote_version=`git log --pretty=oneline origin/main | head -n1 |awk '{print $1}'`
local_version=`git log --pretty=oneline | head -n1 |awk '{print $1}'`
if [ "$remote_version" != "$local_version" ];then
echo "远程版本和本地版本不一致,正在拉取同步。。。"
git pull git@github.com:yunTaoScripts/yunpress.git
else
echo "本地版本为最新版,无需更新。"
fi
fi
# 触发远程构建
注意⚠️
需要输入账号密码,否则可能权限不够。
curl -u yuntao:xxxxx http://jenkins.yuntao.work:8088/job/%E6%8E%A8%E9%80%81%E6%9E%84%E5%BB%BA%E9%95%9C%E5%83%8F/build?token=PUSH_IMAGE
← 快速链接