Jenkins是啥
官方文档
Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。CI(Continuous integration,持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。
CD(Continuous Delivery,持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。部署一个CI系统需要的最低要求是,一个可获取的源代码的仓库,一个包含构建脚本的项目。
安装Jenkins
本文环境
- Ubuntu:18.04
- Docker:20.10.6
- GitLab
注:本文是在docker上安装,并与gitlab在同一网段,并git-lab已安装完成
docker run
- 下载 jenkinsci/blueocean 镜像并运行 容器
sudo docker run \-u root \--rm \-d \-p 18080:8080 \-p 50000:50000 \-v /home/fxm/jenkins-data:/var/jenkins_home \-v /var/run/docker.sock:/var/run/docker.sock \jenkinsci/blueocean注:本文中指定ubuntu的18080端口映射到jenkins容器
部署Jenkins
- 浏览器中打开 ubuntu的ip:18080 或 ip:8080
# 进入容器
docker exec -it dockerId /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
# 将密码填上,完成,稍等会提示安装插件,默认安装即可,然后创建一个管理员。
安装插件
- Git Lab
增加gitlab信息
- 生成gitlab:access token
- 增加gitlab配置
- 增加全局凭证(ssh)
注:生成ssh:ssh-keygen -t rsa -C "fxm@fxm.com"
将公钥添加gitlab
添加流水线
- 新建任务
- gitlab添加webhook
- gitlab项目提交测试