侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Docker Jenkins集成

2023-11-08 星期三 / 0 评论 / 0 点赞 / 53 阅读 / 3023 字

持续集成(Continuous integration,简称CI)是一套标准的互联网软件开发和发布流程,主要指频繁的将代码集成到主干,让产品可以快速迭代,同时能保证高质量。 什么是Jenkins Je

持续集成(Continuous integration,简称CI)是一套标准的互联网软件开发和发布流程,主要指频繁的将代码集成到主干,让产品可以快速迭代,同时能保证高质量。

什么是Jenkins

Jenkins是一款由Java开发的开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。

利用Jenkins持续集成Node.js项目之后,就不用每次都登录到服务器,执行pm2 restart xxx或者更原始一点的kill xx,然后node xxx。通过Jenkins,只需单击『立即构建』按钮,就可以自动从Git仓库拉取代码,然后部署到远程服务器,执行一些安装依赖包和测试的命令,最后启动应用。如果需要部署到多台服务器上,只需在Jenkins上多配置相应的服务器数量,就可以通过Jenkins部署到多台服务器上。

通过Docker安装和启动Jenkins

Jenkins需要Java环境,有了Docker这个利器,我们就省去了安装Java环境的麻烦,只需执行如下命令即可。

1
docker pull jenkins:latest

 

有一个通常的做法是要将Jenkins文件存储地址挂载到主机上,万一Jenkins的服务器重装或迁移,可以很方便的把之前的项目配置保留。所用可通过如下命令来启动Jenkins容器。

1
docker run -d --name myjenkins -p 49001:8080 -v ${pwd}/data:/var/jenkins_home jenkins

 

上面安装和启动Jenkins容器的做法,常常会出现错误,错误日志如下。

1

2

touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied

Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

 

这里推荐直接从 https://github.com/denverdino/docker-jenkins 获得相关代码,并构建自己的Jenkins镜像。执行命令如下:

1

2

3

git clone https://github.com/AliyunContainerService/docker-jenkins

cd docker-jenkins/jenkins

docker build -t myjenkins .

 

然后基于新镜像启动Jenkins容器。

1

2

docker rm -f jenkins

docker run -d -p 8080:8080 -p 50000:50000 -v $(pwd)/data:/var/jenkins_home --name jenkins myjenkins

 

docker-machine ip获取到docker的IP后,用浏览器访问这个IP的8080端口,就会有如下图所示的Jenkins的主界面。

广告 广告

评论区