一、环境安装部署
1. 安装JDK
2. 配置环境变量
C:\Program Files\Java\jdk1.8.0_152\bin
3. 安装并且激活IDEA
-javaagent:D:\IntelliJ IDEA\IntelliJ IDEA 2019.3.1\bin\jetbrains-agent.jar
4. 构建web项目
5. 安装 tomcat 服务器
配置IDEA,使其能够识别tomcat
6. 安装 git,开启版本控制
7. Gitlab 仓库搭建
hostnamectl set-hostname gitlab && su
#安装依赖包
yum install -y policycoreutils openssh-server openssh-clients.x86_64 postfix
#启动ssh服务并且设置开机启动
systemctl start sshd && systemctl enable sshd
#设置postfix开机自启,并启动
systemctl start postfix && systemctl enable postfix
rpm -ivh gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm
修改 gitlab 访问地址和端口,默认为80,我们改为82
vim /etc/gitlab/gitlab.rb
23 external_url 'http://192.168.8.20:82' #访问地址设为本机IP地址
1112 nginx['listen_port'] = 82 #监听端口改为82,前面的注释需要取消掉
gitlab-ctl reconfigure
gitlab-ctl restart
http://192.168.8.20:82 访问Gitlab
修改管理员root密码,修改密码后,登录即可
8. 添加组、创建用户、创建项目
创建用户
将用户添加到组中
以刚才创建的zhangsan用户登录 ,然后在用户组中创建新的项目
9. 测试源码上传到 Gitlab 仓库
二、Jenkins 安装
Jenkins需要依赖JDK,所以先安装JDK1.8 ,安装目录为:/usr/lib/jvm
hostnamectl set-hostname jenkins && su
yum install java-1.8.0-openjdk* -y
rpm -ivh jenkins-2.277.4-1.1.noarch.rpm
vim /etc/sysconfig/jenkins
29 JENKINS_USER="root"
56 JENKINS_PORT="8888"
systemctl start jenkins
打开浏览器访问 http://192.168.8.19:8888
cat /var/lib/jenkins/secrets/initialAdminPassword
1. 修改插件地址
cd /var/lib/jenkins/updates
sed -i 's/http:\/\/updates.jenkins- ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
2. 安装项目所需插件
安装完以后需重启Jenkins
Chinese
Role-based Authorization Strategy
Credentials Binding
Git
Deploy to container
Maven Integration
Pipeline
3. 添加凭证
在 Jenkins 服务器上安装 Git工具
yum install git -y
git --version
使用 root 用户生成公钥和私钥,在 /root/.ssh/ 目录保存了公钥和私钥
ssh-keygen -t rsa
把生成的公钥放在 Gitlab 中
在 Jenkins 中添加凭证,配置私钥
使用密钥对的形式构成成功
三、安装配置 Maven
1. Jenkins服务器安装maven
tar zxvf apache-maven-3.6.2-bin.tar.gz
mkdir -p /opt/maven
mv apache-maven-3.6.2/* /opt/maven
vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export MAVEN_HOME=/opt/maven
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
source /etc/profile
2. 配置JDK和Maven
JDK1.8
/usr/lib/jvm/java-1.8.0-openjdk
maven3.6.2
/opt/maven
3. 添加 Jenkins 全局变量
JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk
M2_HOME /opt/maven
PATH+EXTRA $M2_HOME/bin
4. 修改 Maven 的配置文件
- 把配置文件中的本地仓库改为:/root/repo/
mkdir /root/repo
vim /opt/maven/conf/settings.xml
54 <localRepository>/root/repo</localRepository>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http:
<mirrorOf>central</mirrorOf>
</mirror>
5. 测试Maven是否配置成功
可以看到项目打成 war 包了,代表 maven 环境配置成功
四、安装配置 Tomcat
1. 安装
yum install java-1.8.0-openjdk* -y
tar -xzf apache-tomcat-8.5.47.tar.gz
mkdir -p /opt/tomcat
mv /root/apache-tomcat-8.5.47
2. 配置Tomcat用户角色权限
vim /opt/tomcat/conf/tomcat-users.xml
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
为了能够刚才配置的用户登录到 Tomcat,还需要修改以下配置,默认不许允许远程访问,现在需要注释掉
#开启远程访问
vim /opt/tomcat/webapps/manager/META-INF/context.xml
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
3. 重启Tomcat,访问测试
/opt/tomcat/bin/shutdown.sh
/opt/tomcat/bin/startup.sh
五、构建 Pipeline 流水线项目
Jenkins中自动构建项目的类型有很多,常用的有: 自由风格软件项目(FreeStyle Project)
Maven项目(Maven Project)
流水线项目(Pipeline Project)
Groovy Pipeline 支持两种语法: Declarative(声明式)
Scripted Pipeline(脚本式)
Pipeline 也有两种创建方法: 直接在 Jenkins 的 Web UI 界面中输入脚本
通过创建一个 Jenkins?le 脚本文件放入项目源码库中
一般推荐在 Jenkins 中直接从源代码控制(SCM) 中直接载入 Jenkins?le Pipeline 这种方法
1. 创建流水线项目
pipeline {
agent any
stages {
stage('pull code') {
steps {
echo 'Hello World'
}
}
stage('build project') {
steps {
echo 'Hello World'
}
}
stage('deploy item') {
steps {
echo 'Hello World'
}
}
}
}
生成拉取代码
生成编译构建的代码
生成部署代码(添加tomcat的凭证)
构建成功
2. Pipeline Script from SCM
由于在Jenkins的UI界面编写Pipeline代码不方便脚本维护,并且脚本容易丢失,所以可以把Pipeline脚本放在项目中(一起进行版本控制)
在项目根目录建立Jenkins?le文件,把脚本内容复制到该文件中
这里要注意的是观察代码是否变颜色,有概率不识别,导致构建失败~
然后对Jenkinsfile文件进行提交代码
到Gitlab仓库上查看是否提交成功
重新配置web_demo_pipeline项目
对IDEA上代码进行更改并重新提交
构建完成
访问 Tomcat 查看发布结果,下面是前后对比
|