Jenkins官网
# 官网: https://www.jenkins.io
https://www.jenkins.io/zh/ # docker安装: https://www.jenkins.io/doc/book/installing/docker/ # yum安装: https://www.jenkins.io/download/
环境软硬件要求
# 最低硬件要求 256 MB内存 1 GB的驱动器空间(如果将Jenkins作为Docker容器运行,则建议至少使用10 GB的驱动器空间) # 小型团队的推荐硬件配置: 4 GB+内存 50 GB以上的驱动器空间
正式环境中对内存和读写频率要求很高 # 软件要求 推荐使用Java11 yum install java-11-openjdk* docker版本可以参见官网docker的方式安装
docker方式安装
# docker环境安装 yum install -y docker-ce docker-compose [root@node1 ~]# docker version Client: Docker Engine - Community Version: 20.10.11 API version: 1.41 Go version: go1.16.9 Git commit: dea9396 Built: Thu Nov 18 00:38:53 2021 OS/Arch: linux/amd64 Context: default Experimental: true
[root@node1 ~]# docker-compose -v
docker-compose version 1.18.0, build 8dd22a9
# 需要3个镜像包
gitlab-ce
jenkins
sonarqube
# 安装运行 docker pull jenkins/jenkins:lts mkdir -p /var/jenkins_home chmod 777 /var/jenkins_home # jenkins在容器中的目录/var/jenkins_home docker run -it -v /var/jenkins_home:/var/jenkins_home -p 8888:8080 -p 50000:50000 -p 45000:45000 --name=myjenkins jenkins/jenkins:lts docker stop myjenkins
docker start myjenkins
查看启动日志:docker logs myjenkins # 时间不同步,可以将容器外的拷贝到容器内 docker cp /usr/share/zoneinfo/Asia/Shanghai myjenkins:/etc/localtime # 容器内网络不通 2021-12-04 12:33:38.768+0000 [id=29] WARNING hudson.model.UpdateCenter#updateDefaultSite: Upgrading Jenkins. Failed to update the default Update Site 'default'. Plugin upgrades may fail. java.net.UnknownHostException: updates.jenkins.io # 两种原因: jenkins@044f24ab0969:~$ cat hudson.model.UpdateCenter.xml <?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <url>https://mirrors.aliyun.com/jenkins/updates/stable/update-center.json</url> </site> 第一种是:https://mirrors.aliyun.com/jenkins/updates/stable/update-center.json不能打开,需要替换URL 第二种是:确实不能访问,需要重启docker systemctl restart docker
# 之后与yum安装的图形化界面相同
基于centos环境部署:yum安装
# jenkins安装 https://mirrors.aliyun.com/jenkins/redhat-stable/jenkins-2.319.1-1.1.noarch.rpm yum install daemonize -y rpm -ivh jenkins-2.319.1-1.1.noarch.rpm systemctl start jenkins
安装后配置
# 1.访问链接 # 端口配置地址:/etc/sysconfig/jenkins
JENKINS_USER="root" ,用户修改,使用jenkins用户之后执行命令会报错,权限问题
可以获得几个重要配置项目信息
JENKINS_HOME="/var/lib/jenkins"
,存放jenkins 配置及工作文件JENKINS_PORT="8080"
,jenkins默认8080端口
http://IP:8080 当您第一次访问Jenkins的时候,系统会要求您使用自动生成的密码对其进行解锁。 解锁秘钥可以通过$JENKINS_HOME/secrets/initialAdminPassword文件获取。还可以通过在启动日志中获取 # 2.自定义插件安装 如果不确定要安装那些的时候可以选择此选项,灵活的自定义安装. 插件安装多了也没关系,可以后面再jenkins插件管理页面删除,但是搭建速度比较慢.
# 3.创建第一个管理员账户,之后一路完成
插件安装
以下这两个网站是Jenkins所有的插件及说明
Jenkins Plugins https://plugins.jenkins.io
Jinkins Plugins Wiki https://wiki.jenkins.io
1.安装汉化插件: Manage Jenkins--->Manage Plugins--->Avilable:Localization:chinese(Simplified)
2.用户管理-新建用户和删除用户:Manage Jenkins--->Manager User
3.项目构建、
在linux 服务器上可以看到这个项目/var/lib/jenkins/jobs/Test,如果在面板上将Test项目改名,但是linux服务器上的目录里的Test目录并不会删除
docker安装gitlab
docker pull gitlab/gitlab-ce
docker run -it -p 8880:80 -p 8222:22 -v /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/log:/var/log/gitlab -v /usr/local/gitlab/opt:/var/opt/gitlab --restart always --privileged=true --name=mygitlab gitlab/gitlab-ce:latest
docker stop mygitlab
docker start mygitlab
--hostname gitlab.example.com: 设置主机名或域名(暂未设置)
-v --volume /usr/local/gitlab/etc:/etc/gitlab 挂载目录
--name mygitlab: 运行容器名
--restart always: 自动重启
--privileged=true 使得容器内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限
登录镜像:
docker exec -it mygitlab /bin/bash
# 修改配置
vi /usr/local/gitlab/etc/gitlab.rb
external_url 'http://192.168.0.112'
gitlab_rails['gitlab_ssh_host'] = '192.168.0.112'
gitlab_rails['gitlab_shell_ssh_port'] = 8222
# 让配置生效
gitlab-ctl reconfigure
# 修改http和ssh配置 vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
host: 192.168.0.112
port: 8880 # 默认是80,需要修改,否则会报502
https: false
# 修改完成后重启并退出
gitlab-ctl restart
http://192.168.0.112:8880 # 输入账号密码,如果不记得请重置 # 进入容器内部 docker exec -it gitlab /bin/bash # 进入控制台 gitlab-rails console -e production # 查询id为1的用户,id为1的用户是超级管理员 user = User.where(id:1).first # 修改密码为lqz123456 user.password='lqz123456' # 保存 user.save! # 退出 exit
在设置里面设置为中文,重新登录后在菜单中新建一个项目
Jenkins常用功能
系统管理--插件管理
部分插件安装无需重启Jenkins
删除插件并不会立即生效
最佳实践:仅选择必要的插件,否则会影响Jenkins加载速度
插件中如果可以用没必要升级的请不要升级,如果需要升级请先在备用jenkins上进行测试
系统管理--节点管理---新建节点
1.输入节点名称,勾选固定节点,并确定;



添加第二个节点的时候,可以复制salve1的节点,修改下主机IP和添加按钮的账号密码或者改成ssh信任的key模式
2.将节点用起来
创建任务的时候有一个:限制项目运行的节点--填写标签
节点比较多的话,需要安装插件Node and Label parameter
3.Source Code Management
Git Svn 其它80+插件支持其它SCM系统
Git--全局配置
build node 上安装 git tool
global tool configuration配置
执行后可以查看输出