Jenkins使用国内源

原本一直使用gitlab作为代码管理和CI/CD工具,最近遇到一个需求,合作者不愿意把代码托管在私有的gitlab服务器上,希望使用gitee,后端代码每次打包部署比较费事,用gitlabgitee获取代码并进行CI/CD流水线比较麻烦(可能还要用到企业版功能),而gitee提供有jenkins插件,所以计划部署一套jenkins.

通过Docker部署

Jenkins官方提供了docker镜像,这就方便很多了,直接pull下来,笔者使用lts版本

docker pull jenkins/jenkins:lts

启动容器

docker run -it -d --name jenkins-server -p 8080:8080 50000:50000 jenkins/jenkins:lts

因为安装过程中需要通过log查看默认密码,通过console滚动显示日志

docker logs -f jenkins-server

从浏览器中打开对应的页面,按照提示默认安装就可以完成.
安装过程中,因为网络因素,几乎都会遇到插件安装非常慢,或者安装失败的问题,找的一个解决方案是替换为国内源.

配置Update Site

网上搜到的最多的替换方案,是使用清华镜像

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

但是,即使替换了,下载镜像依然很慢,查看出错信息,发现还是从国外的地址下载.
根据查阅的资料Jenkins 插件中心国内镜像源发布 所述,jenkins对update-center.json 这个文件有校验,需要安装jenkins的中文插件,插件替我们把校验这个事情给解决了.

经过测试,发现的确直接替换无效,并且如果在docker镜像中直接替换这个地址,运行还会报错,也从侧面反映的确有校验.

插件安装后,再进行update site替换,插件安装速度非常快了.

Docker镜像中预装插件

因为经常需要部署服务器,还是希望有些插件可以预先安装好,比如上面提到的中文插件, 在docker中很容易实现.

首先需要准备一个文件,列出需要预先安装的插件,例如命名为plugins.txt

#localization-zh-cn
localization-zh-cn:::https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/localization-zh-cn/latest/localization-zh-cn.hpi

在自定义的Dockerfile中,用官方镜像的脚本执行安装

FROM jenkins/jenkins:lts

COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt

这样build出来的镜像,就预装上了插件.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值