2.docker安装Jenkins及配置
2023-02-24 本文已影响0人
一个小前端程序员
用docker安装jenkins的镜像
docker pull jenkins/jenkins:lts
docker容器相关的映射都放在/home/docker中
新建jenkins_home目录(自行设置,记住它),并修改它的权限(不然docker运行容器会报权限错误):
mkdir -p /home/docker/jenkins_home
chown -R 1000:1000 /home/docker/jenkins_home
使用docker镜像启动容器:
docker run -d --name jenkins -p 5000:8080 -p 50000:50000 -v /home/docker/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
命令解释
- -d 是让它到后台运行这样不用一直保持终端开启;
- -p 5000:8080 -p 50000:50000 把容器的端口映射出来,支持多个,8080和50000端口都是Jenkins需要的,其中5000(映射到了Jenkins容器的8080端口)将是我们访问Jenkins应用端的端口;
- --name jenkins 是起一个你中意的名字;
- -v /home/docker/jenkins_home:/var/jenkins_home容器的某个目录映射到你刚才新建的目录;
- jenkins/jenkins:lts 镜像名称,我们下载时候用的就是它
容器后台运行了,我们看看它是否真的在跑,可以用ps查看容器状态:
docker ps
2023-02-25_184406.png
浏览器访问jenkins(5000端口)http://ip:5000/,看到界面已经出来了,需要我们做一些初始化工作。
如果一直提示Please wait while Jenkins is getting ready to work的问题,需要你进入jenkins的工作目录(/home/docker/jenkins_home),打开hudson.model.UpdateCenter.xml文件
vim /home/docker/jenkins_home/hudson.model.UpdateCenter.xml
// 第一方案
将 url 中的`http://updates.jenkins.io/update-center.json`更改为`http://updates.jenkins.io/update-center.json`,即去掉 https 中的` s` 。
// 第二方案
将`https://updates.jenkins.io/update-center.json`更改为`https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json`
即改为国内的清华大学的镜像地址。
2023-02-25_184704.png
按照它给的提示我们我们去找下我们映射的jenkins home目录下的文件内容,把它复制粘贴到密码输入框,然后点继续(这字符串也是作为jenkins的admin密码):
cat /home/docker/jenkins_home/secrets/initialAdminPassword
然后按照它的提示慢慢往下点(可以自己按需选择少量插件安装加快速度,后面还可以加装;或者在这一步之前把它换成国内镜像源会快些),等待它安装,:
2023-02-25_184936.png
配置一个账号或者点击下方的使用admin账号:
2023-02-25_185446.png 2023-02-25_185502.png 2023-02-25_185527.png
用jenkins创建一个构建任务!
2023-02-25_185851.png2023-02-25_190122.png
填写jenkins构建时执行的shell脚本
2023-02-25_190309.png 2023-02-25_190504.png
node -v
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install
rm -rf ./dist/*
npm run build
rm -rf /var/jenkins_home/www/* #关联的是docker宿主机的/home/docker/jenkins_home
cp -rf ./dist/* /var/jenkins_home/www
注意:需要在/home/docker/jenkins_home中创建www文件夹(由于前面的关联关系等同于Jenkins容器中的/var/jenkins_home/www),且将文件夹所有者及所有组更改为docker用户(id为1000)
mkdir -p /home/docker/jenkins_home/www
chown -R 1000:1000 /home/docker/jenkins_home/www
Jenkins安装nodejs插件
2023-02-25_191040.png 2023-02-25_191621.png
nodejs插件配置
2023-02-25_191010.png 2023-02-25_192045.png
回到项目中配置
2023-02-25_192337.png
构建项目,等待构建完成
2023-02-25_192436.png 2023-02-25_192515.png
2023-02-25_192829.png