一、概述
1、CI 持续集成
2、持续集成流程
3、CICD流程
4、Jenkins
官方地址:Jenkins
5、GitLab和GitHub的区别
6、对比
二、部署Gitlab
系统 | IP | 主机名 | 角色 |
---|---|---|---|
CentOS 7.4 | 192.168.2.14 | Gitlab | Gitlab |
CentOS 7.4 | 192.168.2.15 | jenkins | jenkins |
CentOS 7.4 | 192.168.2.16 | Apache | Apache(web) |
windows 7 | 192.168.2.50 | wind | 客户端 |
清华大学镜像站:https://mirrors.tuna.tsinghua.edu,cn/gitlab-ce/yum/el7/
GitLab包含软件:
alertmanager
gitaly
gitlab-exporter
gitlab-workhorse
grafana
logrotate
nginx
node-exporter
postgres-exporter
postgresql
prometheus
redis
redis-exporter
sidekiq
unicorn
配置防火墙
[root@Gitlab ~]# iptables -F #清空规则
[root@Gitlab ~]# systemctl stop firewalld
[root@Gitlab ~]# systemctl disable firewalld
禁止防火墙,就不用执行下面两条命令:
[root@Gitlab ~]# firewall-cmd --permanent --add-service=http
[root@Gitlab ~]# systemctl reload firewalld
时间同步服务器
[root@Gitlab ~]# yum -y install ntp
......
[root@Gitlab ~]# sed -i '/^server/s/^/#/g' /etc/ntp.conf
[root@Gitlab ~]# cat <<END >>/etc/ntp.conf
server 127.127.1.0
fudge 127.127.1.0 stratum 8
END
[root@Gitlab ~]# ntpdate time.nist.gov
11 Feb 17:27:25 ntpdate[73029]: adjust time server 128.138.141.172 offset 0.004230 sec
[root@Gitlab ~]# systemctl restart ntpd
[root@Gitlab ~]# systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.
(一)、安装Gitlab
[root@Gitlab ~]# yum install -y policycoreutils-python #安装依赖
.........
[root@Gitlab ~]# rpm -ivh gitlab-ce-14.7.2-ce.0.el7.x86_64.rpm #上传rpm包
.......
[root@Gitlab ~]# vim /etc/gitlab/gitlab.rb #修改 gitlab 外部访问地址;可以修改为IP地址,也可以修改为自定义的gitlab域名
.........
32 external_url 'http://192.168.2.14
...
保存
[root@Gitlab ~]# gitlab-ctl reconfigure #初始化gitlab,会重置为最原始的配置
...........
.....
gitlab Reconfigured!
[root@Gitlab ~]# gitlab-ctl status #查看状态
........
..
[root@Gitlab ~]# netstat -anptu| grep 80 #默认使用nginx做为web界面
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 10439/puma 5.5.2 (u
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10757/nginx: master
(二)、重置密码
1、进入控制台
[root@Gitlab ~]# gitlab-rails console
2、查询root用户账号信息并赋值给u
irb(main):001:0> u=User.where(id:1).first
=> #<User id:1 @root>
3、设置密码
irb(main):002:0> u.password=12345678 #root用户密码设置为12345678
=> 12345678
4、确认密码
irb(main):003:0> u.password_confirmation=12345678
=> 12345678
5、保存设置
irb(main):004:0> u.save!
=> true
6、退出控制台
exit
7、重启GitLab
[root@Gitlab ~]# gitlab-ctl restart
(三)、Gitlab的命令
gitlab-ctl stop #关闭 gitlab
gitlab-ctl start #启动 gitlab
gitlab-ctl restart #重启 gitlab
systemctl restart gitlab-runsvdir #gitlab启动报warning: redis: unable to open supervise/ok: file does not exist
GitLab的配置文件:/etc/gitlab/gitlab.rb #可以自定义一些邮件服务等
日志地址:/var/log/gitlab/ #对应各服务
服务地址:/var/opt/gitlab/ #对应各服务的主目录
仓库地址:/var/opt/gitlab/git-data #记录项目仓库等提交信息
sudo gitlab-ctl tail #查看所有的logs; 按 Ctrl-C 退出
sudo gitlab-ctl tail gitlab-rails #拉取/var/log/gitlab下子目录的日志
sudo gitlab-ctl tail nginx/gitlab_error.log #拉取某个指定的日志文件
gitlab-rake gitlab:check SANITIZE=true --trace #检查gitlab
(四)、关闭 gitlab的注册功能
(五)、配置邮箱报警
在官方有各种邮箱配置实例:SMTP settings | GitLab
1、修改配置文件
[root@Gitlab ~]# vim /etc/gitlab/gitlab.rb #在112行后面插入以下内容
...............
113 gitlab_rails['smtp_enable'] = true
114 gitlab_rails['smtp_address'] = "smtp.qq.com"
115 gitlab_rails['smtp_port'] = 465
116 gitlab_rails['smtp_user_name'] = "1234567890@qq.com"
117 gitlab_rails['smtp_password'] = "邮箱授权码 不是邮箱密码"
118 gitlab_rails['smtp_authentication'] = "login"
119 gitlab_rails['smtp_enable_starttls_auto'] = true
120 gitlab_rails['smtp_tls'] = true
121 gitlab_rails['gitlab_email_from'] = '1234567890@qq.com'
.........
....
保存
[root@Gitlab ~]# gitlab-ctl reconfigure #初始化gitlab
...........
....
[root@Gitlab ~]# gitlab-rails console #登陆控制台
--------------------------------------------------------------------------------
Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
GitLab: 14.7.2 (89599212ee6) FOSS
GitLab Shell: 13.22.2
PostgreSQL: 12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.4.4)
irb(main):001:0> Notify.test_email('1234567890@qq.com', '测试一', '测试').deliver_now #给1234567890发送一个测试邮件
Delivered mail 6205d85720795_16bb5adc2973c@Gitlab.mail (1179.0ms)
=> #<Mail::Message:279200, Multipart: false, Headers: <Date: Fri, 11 Feb 2022 11:30:31 +0800>, <From: GitLab <1228413999@qq.com>>, <Reply-To: GitLab <noreply@gitlab.example.com>>, <To: 1228413999@qq.com>, <Message-ID: <6205d85720795_16bb5adc2973c@Gitlab.mail>>, <Subject: 测试一>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>, <Auto-Submitted: auto-generated>, <X-Auto-Response-Suppress: All>>
2.、创建群组
填写完成后 >> 点 >> 创建组
3、创建用户
填写完后 >> 创建用户
4、在 zs 用户上 创建一个项目
5、 在新建的仓库创建一个文件
6、在windows 7 上创建秘钥
6.1、运行TortoiseGit开始菜单中的puttygen程序
6.2、点击“Generate”按钮,鼠标在上图的空白地方来回移动直到进度条完毕,就会自动生一个随机的key
6.3、保存公钥私钥
将生成的key保存为适用于 TortoiseGit 的私钥(扩展名为.ppk)
复制公钥后面要用
6.4、 把私钥加入TortoiseGit
6.5、把公钥导入gitlab
6.6、windows 7 上免密测试
6.7、 查看结果
三、部署 jenkins
同步时间
[root@jenkins ~]# yum -y install ntpdate
.......
[root@jenkins ~]# ntpdate 192.168.2.14
11 Feb 17:33:27 ntpdate[15420]: step time server 192.168.2.14 offset -28797.200506 sec
1、部署java环境
[root@jenkins ~]# tar zxvf jdk-8u202-linux-x64.tar.gz
[root@jenkins ~]# mv jdk1.8.0_202 /usr/local/java/
配置 jdk 环境变量
[root@jenkins ~]# vim /etc/profile
.........
..... 最后添加
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH
保存
[root@jenkins ~]# source /etc/profile
[root@jenkins ~]# java -version #java环境部署完成
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
2、部署 Jenkins
Jenkins下载地址:Index of /jenkins/redhat-stable/
2.1、安装 Jenkins
[root@jenkins ~]# rpm -ivh jenkins-2.222.4-1.1.noarch.rpm
警告:jenkins-2.222.4-1.1.noarch.rpm: 头V4 DSA/SHA1 Signature, 密钥 ID d50582e6: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:jenkins-2.222.4-1.1 ################################# [100%]
2.2、修改配置文件
[root@jenkins ~]# vim /etc/sysconfig/jenkins
......
..
29 JENKINS_USER="root" #修改默认运行账号
.....
..
保存
2.3、添加java软连接
如果不做java软连接,启动会报错
[root@jenkins ~]# ln -s /usr/local/java/bin/java /usr/bin/
2.4、启动Jenkins
[root@jenkins ~]# /etc/init.d/jenkins start
Starting jenkins (via systemctl): [ 确定 ]
[root@jenkins ~]# netstat -anput|grep 8080
tcp6 0 0 :::8080 :::* LISTEN 41820/java
—————— 添加到开机自启
[root@jenkins ~]# chkconfig jenkins on
[root@jenkins ~]# chkconfig --list jenkins
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
要列出 systemd 服务,请执行 'systemctl list-unit-files'。
查看在具体 target 启用的服务请执行
'systemctl list-dependencies [target]'。
jenkins 0:关 1:关 2:开 3:开 4:开 5:开 6:关
3、访问并安装插件
3.1、访问Jenkins
访问:192.168.2.15:8080
[root@jenkins ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
7630e24287944f3298cf3744ed633efb
由于jenkins需要联网下载插件,默认插件的网址是jenkins的官网(速度特别慢)(暂时没有联网)
3.2、 添加一个系统账户
3.3、手动安装Jenkins插件
这里使用手动安装
方法一:上传插件
下载地址:Index of /download/plugins
方法二(本次使用方法二):把一台安装好 jenkins 插件服务器的 /var/lib/jenkins/plugins 目录下的文件复制到新的 jenkins 中。然后重启新的 jenkins 使插件生效
下载插件:Jenkins插件,解压即可用-网络安全文档类资源-CSDN下载
[root@jenkins ~]# mv /var/lib/jenkins/plugins /var/lib/jenkins/plugins.bf
[root@jenkins ~]# tar -zxvf plugins.tar.gz -C /var/lib/jenkins/
[root@jenkins ~]# systemctl restart jenkins #让插件生效
注意: 不重启,插件不会生效
3.4、Jenkins升级
目前版本2.222.4
官方下载最新稳定版的 war包: https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.319.3/jenkins.war
清华大学镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/latest/jenkins.war
两个网站都可以下载
查看war包所在的目录
——————————————————————————
[root@jenkins ~]# rpm -ql jenkins | grep .war
/usr/lib/jenkins/jenkins.war
备份原来的war包,拷贝最新版本war包
——————————————————————————————————————————————
[root@jenkins ~]# cd /usr/lib/jenkins/
[root@jenkins jenkins]# mv jenkins.war jenkins.war.bak
[root@jenkins jenkins]# ls
jenkins.war jenkins.war.bak
[root@linux-node2 jenkins]# service jenkins start
—————————————————如上命令执行完发现版本还是原来的,执行以下命令或者重启服务器使用命令: init 6
[root@jenkins ~]# netstat -anptu |grep java
tcp6 0 0 :::8080 :::* LISTEN 5952/java
[root@jenkins ~]# kill -9 5952
[root@jenkins ~]# /etc/init.d/jenkins start
4、配置 Jenkins 使用 gitlab 更新代码
4.1、配置jenkins免密拉取gatlab代码
在Jenkins上生成密钥对
[root@jenkins ~]# ssh-keygen
..........
.....
查询公钥,复制到 gitlab 上
————————————————————————————
[root@jenkins ~]# cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNGUs0sCd3XhWSK4JuIrLhxrrO2jzdeWmNAieMbkKj0PECa5djZetCuDouiUuKT7g7x3wWSqjwpOurBh5YlLcbeHnlT+kT6rVoR/O08rl4HduwN640nj8YU8hqOTV2BFz2EXplJMb57rV88UmMN/46QZTrcRYCOttYN9Akmv2TYSOsMlYB0bJqQRW5OGqaWSxF9SO78TDlMttHoFpP2ZUoMtGfV8r8O3WkQaVGwkWxsvAfLG2EjdLcgYMHYavmXRwDLDCnmXevyS+mnBd4ao+UJXtr6XIzlMyTuNUll+xoT2Qg3Uf12pXTXHdrXV4Jat3bU8Yh6B/yhG5UfVDHMMi5 root@jenkins
测试 key
[root@jenkins ~]# yum install -y git
[root@jenkins ~]# git clone git@192.168.2.14:zs/web.git
正克隆到 'web'...
The authenticity of host '192.168.2.14 (192.168.2.14)' can't be established.
ECDSA key fingerprint is SHA256:S7MFrLTUcEUCDUIZePIXhSGFSvtI7n4F9Tkou5MMhzI.
ECDSA key fingerprint is MD5:9c:49:dc:85:0c:bd:6c:aa:81:01:67:38:30:c5:3b:9c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.2.14' (ECDSA) to the list of known hosts.
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
接收对象中: 100% (6/6), done.
[root@jenkins ~]# ls web/
index.html README.md
4.2、把 Jenkins 服务器刚刚生成的私钥配置到 jenkins 上
查看私钥
————————————————————————
[root@jenkins ~]# cat .ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAzRlLNLAnd14VkiuCbiKy4ca6zto83XlpjQInjG5Co9DxAmuX
Y2XrQrg6LolLik+4O8d8Fkqo8KTrqwYeWJS3G3h55U/pE+q1aEfztPK5eB3bsDeu
NJ4/GFPIajk1dgRc9hF6ZSTG+e61fPFJjDf+OkGU63EWAjrbWDfQJJr9k2EjrDJW
AdGyakEVuThqmlksRfUju/Ew5TLbR6BaT9mVKDLRn1fK/Dt1pEGlRsJFsbLwHyxt
hI3S3IGDB2Gr5l0cAywwp5l3r8kvppwXeGqPlCV7a+lyM5TMk7jVJZfsaE9kIN1H
9dqV01x3a11eCWrd21PGIegf8oRuVH1QxzDIuQIDAQABAoIBADToU3gyANxQDux4
ANt8Y/zOER6POahAS7QuXBlj0BkGK0Xej1z6y6eYcpnSnQP+8J2rJh1yAQai5JBn
sahUJLAXcgpvhMa4gzd1aC7Ddoi/2w4oLu4v7ELQSiDsxRe+pGRtuc8hn5qVs4eZ
jsl3IEPS6yGZOH42xKKLM0xeFw/PRt5tL/3zKzwLqWePLDnRW9pFWYcoJcr/sBIx
vVaMvAduDQufj2I1j6M2EePswgqY2135vID/qiGbzJ6LexwgdCvJOfPHGAQA/sL1
ZKiCpFNdYm5kDX2BsTfuu1uzuAZ20QJnbCggj0oEy6hgUPlZP9JdpjIBldKpe95+
y6UZwYkCgYEA7mGuwvU+MDXj1bC/dzZ4wqJhr183GXLRCBPVfNdN+fyryV+17TQQ
4qVWd97NT2I5MmfJ8yI9hZq7diAwl6Ln1PWv7tLW3DiEgeh5R21XngUxodvP8NJ0
hRCaV+1Ag7hrNsqRTJ9YwSHBaM5Aial7zdO+0QNDSVZP7hA7CSVlwa8CgYEA3EHh
wTd4/b/YCMZKb6KK8/yoFO0Z1rXN/LmYS8uOQzB2dYWsLaWwA0A/gTR+H7hPGaY6
Aojk9EpQqXEMSbkAT9ysxyGEX+DjLej078DTVQt9Qaf8vICqTtELHg7GIqpGnJYK
WHDvaUOEnueNxchK/Y/AcDvfUkpyH4lMg5kcPhcCgYEA3yQbNi3hB7n6SpbHs20O
/4qHDGWBq1W56+i9B753JJHrsHXiU2dQgwgn989cunmEdvWGqgwcMMtVvU6GjfsV
LljJVjKQo9ZX207k8AKfaLEN86hSbuhh4AlZoQLaSDLCUaiu+F2U9DyH0nZ3HSXE
WThjvz1hp+2epocU7AvQw8sCgYAsRnoREwuZRpUwvlt8MVppTWKkQj0tcgJkSRKa
OeLxEq7dVO+VhXbqUGHzoQ+xZKVR7J5AoDAWA1JPnU/xCeVMKHn61Xv8ogJI2klS
YJqav+J/7jrZ0atqiI8JjcK6eSwUkfymZp1ZtZ7VKorPNUIN0nXGmeJ8ckaanEjr
Mz4AJQKBgCFot3uIzFMGED+JLVx+LZcZY3rspHL72WIccbTsjXFBH7NO22rRKUa+
fKR9i2K8HVir4WZbPqEWH+q9Z6nmaQFYvivmXrmoJgO8+Vb4gYhiYGVkj8phI8/y
A8pzK3P1s+zJol4t9X1bNcSAkHID55/TdlRkl2xv5oUskE/cMfPL
-----END RSA PRIVATE KEY-----
4.3、Jenkins创建项目
以下选项二选一,都可以新建任务
选择 >>> 自由式项目
4.4、测试下载代码
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
Finished: FAILURE
原因分析:
解决办法:
[root@jenkins ~]# cat /var/lib/jenkins/workspace/web-job/index.html
<h1> GItlab !!!!!!!!</h1>
5、将代码发布到 web 服务器
拓扑图如下:
5.1、部署Apache服务器
同步时间
[root@Apache ~]# yum -y install ntpdate
.........
[root@Apache ~]# ntpdate 192.168.2.14
12 Feb 15:38:40 ntpdate[3130]: step time server 192.168.2.14 offset -28798.840450 sec
安装apache
[root@Apache ~]# yum -y install httpd
.......
[root@Apache ~]# systemctl start httpd
访问测试:192.168.2.16
5.2、配置ssh免密认证
[root@jenkins ~]# ssh-copy-id root@192.168.2.16
5.3、创建自动上传web代码的脚本
[root@jenkins ~]# vim web-jod.sh
#!/bin/bash
scp /var/lib/jenkins/workspace/web-job/* root@192.168.2.16:/var/www/html
cp /var/lib/jenkins/workspace/web-job/* /var/www/html/
保存
[root@jenkins ~]# mkdir -p /var/www/html
[root@jenkins ~]# chmod -x web-jod.sh
5.4、把脚本添加到Jenkins
5.5、测试
[root@Apache ~]# cat /var/www/html/index.html
<h1> GItlab !!!!!!!!</h1>
测试web页面
5.6、更新 Gatlab 代码触发Jenkins自动部署
生成身份令牌: 在jenkins服务器上生成 Token,openssl rand 生成随机密码
说明:-hex:输出结果为16进制数据; 数字12是指定生成的随机字符为12字节,即24个 16 进制个数
[root@jenkins ~]# openssl rand -hex 12
54bd93946b7c0efb3caa49ef
在配置token前先设置 web 钩子
注意:登录root用户进行修改修改完成后切换zs用户
链接使用如下地址:http://192.168.2.15:8080/buildByToken/build?job=web-job&token=54bd93946b7c0efb3caa49ef
格式:http://jenkins地址/buildByToken/build?job=jenkins项目名&token=token值
5.7、进行测试
6、使用Build Pipeline插件显示流程图
7、使用分支进行网站版本回滚
7.1、分支类型和概念
7.2、流程规范
当前4种分支类型的工作流程
master和develop
feature
hotfix
7.3、新建分支
7.4、 根据 fz 分支进行回滚;回滚我们采取手动回滚的方式,编写shell脚本来执行
[root@jenkins ~]# vim hg.sh
#!/bin/bash
cd /root
git clone -b fz git@192.168.2.14:zs/web.git
scp /root/web/index.html root@192.168.2.16:/var/www/html/index.html
保存
[root@jenkins ~]# rm -rf web
[root@jenkins ~]# bash hg.sh
正克隆到 'web'...
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 31 (delta 8), reused 25 (delta 6), pack-reused 0
接收对象中: 100% (31/31), done.
处理 delta 中: 100% (8/8), done.
index.html 100% 36 48.7KB/s 00:00
8、 jenkins发布tomcat项目
8.1、在Jenkins上安装Maven(需要java环境)
官网下载Maven:Maven – Download Apache Maven
[root@jenkins ~]# tar xf apache-maven-3.8.4-bin.tar.gz
[root@jenkins ~]# mv apache-maven-3.8.4 maven
[root@jenkins ~]# ln -s /root/maven/bin/mvn /usr/bin/mvn
————————添加maven的环境变量
[root@jenkins ~]# vim /etc/profile
..... 最后加入内容
export MAVEN_HOME=/root/maven
export PATH=$PATH:$MAVEN_HOME/bin
保存
[root@jenkins ~]# source /etc/profile
8.2、创建Maven私服nexus
上传 nexus 安装包
[root@jenkins ~]# tar xf nexus-3.13.0-01-unix.tar.gz
[root@jenkins ~]# mv nexus-3.13.0-01 /usr/local/nexus
[root@jenkins ~]# /usr/local/nexus/bin/nexus start
WARNING: ************************************************************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ************************************************************
Starting nexus
[root@jenkins ~]# netstat -anptu | grep 8081 #启动比较慢
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 61384/java
修改私服拉取编译的包去阿里云:http://maven.aliyun.com/nexus/content/groups/public
修改完成后 保存 应用
8.3、 配置私服
[root@jenkins ~]# vim /root/maven/conf/settings.xml
...........
..... #添加到servers区域 忽略:-->
-->
<server>
<id>my-nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>my-nexus-snapshot</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
...... #在mirrors区域添加
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://192.168.2.15:8081/repository/maven-central/</url>
</mirror>
</mirrors>
......
.. #添加到properties区域
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://192.168.2.15:8081/repository/maven-central/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://192.168.2.15:8081/repository/maven-central/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<properties>
......
... #在settings区域添加
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
保存
8.4、配置Jenkins
这里不进行配置
[root@jenkins ]# vim tomcat.sh
#!/bin/bash
source /etc/profile
scp /var/lib/jenkins/workspace/test/test1/target/test1.war root@192.168.2.16:/usr/local/tomcat/webapps/
ssh root@192.168.2.16 "/usr/local/tomcat/bin/shutdown.sh"
sleep 3
ssh root@192.168.2.16 "/usr/local/tomcat/bin/startup.sh"
保存
[root@jenkins ~]# mkdir aaa
[root@jenkins ~]# cd aaa
[root@jenkins aaa]# pwd
/root/aaa
[root@jenkins aaa]# ls
test1 time.java
[root@jenkins aaa]# git config --global user.email "jenkins@example.com"
[root@jenkins aaa]# git config --global user.name "jenkins"
[root@jenkins aaa]# ssh-copy-id root@192.168.2.14
[root@jenkins aaa]# git clone git@192.168.2.14:zs/web.git
正克隆到 'web'...
remote: Enumerating objects: 38, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 38 (delta 1), reused 1 (delta 0), pack-reused 35
接收对象中: 100% (38/38), 4.02 KiB | 0 bytes/s, done.
处理 delta 中: 100% (13/13), done.
[root@jenkins aaa]# mv time.java test1 web
[root@jenkins web]# git rm -rf index.html
rm 'index.html'
[root@jenkins web]# ls
README.md test1 time.java
[root@jenkins aaa]# git add .
[root@jenkins aaa]# git commit -m "ceshi jenkins"
........
[root@jenkins web]# git push -u origin main
Counting objects: 38, done.
Compressing objects: 100% (26/26), done.
Writing objects: 100% (37/37), 5.26 KiB | 0 bytes/s, done.
Total 37 (delta 1), reused 0 (delta 0)
To git@192.168.2.14:zs/web.git
f64ebcc..906cc87 main -> main
分支 main 设置为跟踪来自 origin 的远程分支 main。
[root@Apache ~]# tar zxvf jdk-8u202-linux-x64.tar.gz
.....
[root@Apache ~]# mv jdk1.8.0_202/ /usr/local/java
[root@Apache ~]# cat <<END>>/etc/profile
export JAVA_HOME=/usr/local/java
export PATH=\$PATH:/usr/local/java/bin
END
[root@Apache ~]# source /etc/profile
[root@Apache ~]# tar zxvf apache-tomcat-10.0.13.tar.gz
.......
[root@Apache ~]# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
————————————————————————————————赋权
[root@Apache ~]# chmod a+x /usr/local/tomcat/bin/shutdown.sh
[root@Apache ~]# chmod a+x /usr/local/tomcat/bin/startup.sh
[root@Apache ~]# chmod -R o=rx /usr/local/tomcat/bin/
[root@Apache ~]# chmod -R o=rwx /usr/local/tomcat/logs/
这时候出现报错:查看原因
[root@Apache ~]# vim /usr/local/tomcat/bin/catalina.sh
#!/bin/sh
export JAVA_HOME="/usr/local/java"
export JRE_HOME="/usr/local/java/jre"
.....
..
保存