1. 系统环境
server: CentOS Linux release 8.1.1911 (Core)
ip: 192.168.0.113
project: CentOS Linux release 8.1.1911 (Core)
ip: 192.168.0.115
关闭Selinux
vim /etc/selinux/config
SELINUX=disabled
关闭firewalld防火墙
[root@jekins01 ~]# systemctl stop firewalld.service
[root@jekins01 ~]# systemctl disable firewalld.service
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
2. GitLab安装部署
下载gitlab源:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
使用dnf安装gitlab
[root@jekins01 ~]# dnf -y install gitlab-ce
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-12.8.6-ce.0.el8.x86_64.rpm/download.rpm
更改url访问地址
vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.0.113'
gitlab-ctl reconfigure # 更改了配置文件后需要重新生成配置
访问gitlabhttp://192.168.0.113
默认账号是root
3. GitLab备份
对gitlab进行备份将会创建一个包含所有库和附件的归档文件。对备份的恢复只能恢复到与备份时的gitlab相同的
版本。将gitlab迁移到另一台服务器上的最佳方法就是通过备份和还原。
gitlab提供了一个简单的命令行来备份整个gitlab,并且能灵活的满足需求。
备份文件将保存在配置文件中定义的backup_path中,文件名为TIMESTAMP_gitlab_backup.tar,TIMESTAMP为备
份时的时间戳。TIMESTAMP的格式为:EPOCH_YYYY_MM_DD_Gitlab‐version。
如果自定义备份目录需要赋予git权限
配置文件中加入 egrep -v "^#|^$" /etc/gitlab/gitlab.rb
external_url 'http://192.168.150.28'
unicorn['worker_timeout'] = 60
unicorn['worker_processes'] = 2
unicorn['worker_memory_limit_min'] = "200 * 1 << 20"
unicorn['worker_memory_limit_max'] = "300 * 1 << 20"
sidekiq['concurrency'] = 15
postgresql['shared_buffers'] = "256MB"
prometheus['enable'] = false
gitlab_rails['backup_path'] = '/data/backup/gitlab'
gitlab_rails['backup_keep_time'] = 604800 备份保留的时间(以秒为单位,这个是七天默认值),
mkdir /data/backup/gitlab
chown ‐R git.git /data/backup/gitlab
完成后执行gitlab‐ctl reconfigure
4. Jenkins
1.安装JDK运行环境和jenkins服务
上传JDK和jenkins rpm安装包,使用rpm ‐ivh进行安装,安装完JDK运维java测试是否安装成功
rpm ‐ivh jdk‐8u181‐linux‐x64.rpm
rpm ‐ivh jenkins-2.176.1-1.1.noarch.rpm
2. 配置jenkins
启动用户修改为root
[root@jekins01 ~]# vim /etc/sysconfig/jenkins
JENKINS_USER="root"
[root@jekins01 ~]# systemctl start jenkins
[root@jekins01 ~]# systemctl enable jenkins
访问页面进行配置
http://192.168.0.113:8080
3. 插件安装(跳过安装插件,直接上传插件到目录)和修改登录密码
1.自动安装可选插件
2.手动下载插件上传安装
3.插件放入插件目录
4.jenkins主要的目录
/usr/lib/jenkins/:jenkins安装目录,WAR包会放在这里
/etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKINS_HOME”等都可以在这里配置
/var/lib/jenkins/:默认的JENKINS_HOME
/var/log/jenkins/jenkins.log:Jenkins日志文件
5. 结合GitLab创建一个Jenkins项目
1. 访问gitlab,创建用户访问 token
进入项目---> 点击右上角的用户头像--->settings--->Access Tokens
把生成的Token暂时找个地方保存起来, 等会创建Jenkins任务的时候会用到
2. 创建Jenkins普通项目
注意: 需要提前安装gitlab plugin, Gitlab API Plugin插件
点击新建任务--->构建一个自由风格的项目--->源码管理--->Git--->Credentials--->添加--->需要填写name, ID(这里的id是在gitlab创建的token)
2.1 构建触发器
勾选 Build when a change is pushed to GitLab. GitLab webhook URL: ---> 高级---》 Filter branches by name:master ---> Generate(保存生成的token)
2.2 构建环境
点击构建 --->添加构建步骤---》执行shell: echo "test ok" ---> 保存
2.3 设置gitlab的推送触发
进入gitlab项目---> Settings --->Integrations---> url: 刚刚Jenkins那里的GitLab webhook URL:后面的地址, Secret Token:刚刚Generate那里生成的token, 勾选Push events
2.4 测试Jenkins项目是否可以拉取gitlab上的项目
进入Jenkins项目--->立即构建
访问Jenkins的存储路径:
[root@jekins01 ~]# ls /var/lib/jenkins/workspace/test01
biubiubiu.txt test.txt
3. 创建Jenkins Java项目
注意:
需要提前安装Maven Info Plugin Maven Release Plug-in Plug-in 插件
需要安装maven
3.1 安装Maven
tar xf apache‐maven‐3.3.9‐bin.tar.gz
mv apache‐maven‐3.3.9 /usr/local/
ln ‐s /usr/local/apache‐maven‐3.3.9/ /usr/local/maven
/usr/local/maven/bin/mvn ‐v
编辑/etc/profile文件,在末尾添加
export PATH=/usr/local/maven/bin:$PATH
mvn ‐v 查看版本号
3.2 在Jenkins页面指定Maven包路径
首页---> 系统管理--->全局工具配置--->Maven 安装
--->新增Maven ---> Name: maven
MAVEN_HOME: /usr/local/maven/
3.3 点击新建任务---> 构建一个maven项目
参数化构建过程---> 添加参数:
Git Parameter:
Name:git_version
Description:请输入需要发布的版本
选项参数:
名称:deploy_env
选项:
deploy
rollback
源码管理:
Git:
Repositories URL:git@192.168.0.113:root/java01.git
Credentials: 跟之前添加账号的方式一样
指定分支: ${git_version}
Build:
Root POM: pom.xml
Goals and options: clean package # 先清除后打包
Post Steps
执行shell:
sh /mnt/maven.sh # maven.sh的脚本放在了最后面