1、安装JDK
1.1、下载openJdk11
yum -y install fontconfig java-11-openjdk
1.2、查看安装的版本号
java -version
1.3、配置环境变量
vim /etc/profile
在最底部添加即可
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH
1.4、生效配置
source /etc/profile
2、安装Maven
2.1、下载maven安装包
进入官网:https://maven.apache.org/download.cgi
选择liunx版本的:apache-maven-3.9.7-bin.tar.gz
wget https://dlcdn.apache.org/maven/maven-3/3.9.7/binaries/apache-maven-3.9.7-bin.tar.gz
2.2、解压
tar -zxvf apache-maven-3.9.7-bin.tar.gz -C /usr/local/
2.3、配置环境变量
vim /etc/profile
在最底部添加即可
export MAVEN_HOME=/usr/local/apache-maven-3.9.6
export PATH=$MAVEN_HOME/bin:$PATH
1.4、生效配置
source /etc/profile
3、安装Git
3.1、下载git
yum -y install git
3.2、查看安装的版本号
git --version
4、安装Jenkins
4.1、下载Jenkins
#先下载ca-certificates,防止报证书过期问题,再下载包
yum install -y ca-certificates
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.375.4-1.1.noarch.rpm
4.2、安装
rpm -ivh jenkins-2.375.4-1.1.noarch.rpm
4.3、进入jenkins的安装执行目录
cd /usr/bin
4.4、启动jenkins,并指定端口号
./jenkins --httpPort=19091
4.5、查看默认密码
cat /var/lib/jenkins/secrets/initialAdminPassword
4.6、修改配置文件的权限为root
vim /usr/lib/systemd/system/jenkins.service
设置端口号为19091
4.7、重启jenkins
cd /usr/bin
./jenkins --httpPort=19091
4.8、关闭防火墙,或者开放19091端口
#1. 关闭防火墙
systemctl stop firewalld
#2. 防火墙开放8080端口
firewall-cmd --zone=public --add-port=19091/tcp --permanent
systemctl restart firewalld #重启
4.9、浏览器访问
http://192.168.184.132:19091
4.10、输入上一步记录的默认密码
选(无),后面根据自己的需要装,怕有一些插件安装太慢下载失败浪费时间。当然也可以在这里下载,只勾选自己需要的,不熟悉的先不勾
4.11、创建管理员账户
admin即可
4.12、设置中文显示
先下载插件:Locale、Localization: Chinese (Simplified)
重启完,刷新浏览器重新进入界面
P.S. 如果Jenkins重启,那么汉化会继续汉化不完全,需要设置语言为英文显示,然后重启Jenkins,再继续设置为中文显示,这是一个系统Bug
4.13、插件下载
先下载一些基本的插件,其他的根据自己的需求下载
Deploy to container(支持自动化将代码部署到tomcat容器)
Maven Integration(jenkins 利用maven编译,打包,所需插件)
Node.js(打包前端vue项目所需插件)
Git (git插件,从托管平台拉取代码)
GiteeorGithuborGitlab(托管平台插件)
Publish Over SSH(ssh传输到另一台服务器)
4.14、全局工具配置
P.S. 记住先安装对应插件,不然找不到对应设置板块
4.15、Maven配置
路径为第二步自己安装的本地路径,以自己实际的路径为准
5、安装GitLab
参考链接
清华开源软件rpm下载:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
5.1、安装依赖
yum install -y curl policycoreutils openssh-server openssh-clients
#启动ssh服务&设置为开机启动
systemctl enable sshd
systemctl start sshd
安装Postfix
Postfix是一个邮件服务器,GitLab发送邮件需要用到
#安装postfix
yum install -y postfix
#启动postfix并设置为开机启动
systemctl enable postfix
systemctl start postfix
开放ssh以及http服务(80端口)
#开放ssh、http服务
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
说明允许ssh服务通过成功
#重载防火墙规则
firewall-cmd --reload
5.2、下载gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.6.4-ce.0.el7.x86_64.rpm
5.3、安装gitlab
rpm -ivh gitlab-ce-16.6.4-ce.0.el7.x86_64.rpm
5.4、安装gitlab,安装完gitlab需要修改配置文件,并加载
vim /etc/gitlab/gitlab.rb
修改好配置文件后,要使用 gitlab-ctl reconfigure 命令重载一下配置文件,否则不生效即可启动Gitlab。注意,启动过程较长,需要耐心等待。
5.5、gitlab安装目录
gitlab组件日志路径:/var/log/gitlab
gitlab配置路径:/etc/gitlab/ 路径下有gitlab.rb配置文件
应用代码和组件依赖程序:/opt/gitlab
各个组件存储路径: /var/opt/gitlab/
仓库默认存储路径 /var/opt/gitlab/git-data/repositories
版本文件备份路径:/var/opt/gitlab/backups/
nginx安装路径:/var/opt/gitlab/nginx/
redis安装路径:/var/opt/gitlab/redis
5.6、GitLab常用命令汇总
#查看服务状态
gitlab-ctl status
使用控制台实时查看日志
#查看所有的logs; 按 Ctrl-C 退出
gitlab-ctl tail
#拉取/var/log/gitlab下子目录的日志
gitlab-ctl tail gitlab-rails
#拉取某个指定的日志文件
gitlab-ctl tail nginx/gitlab_error.log
#启动关闭gitlab
gitlab-ctl start
gitlab-ctl stop #停止
gitlab-ctl status #查看状态
gitlab-ctl restart #重启
gitlab-ctl reconfigure #更新配置文件
gitlab-ctl help #帮助
gitlab-rake gitlab:check SANITIZE=true --trace 检查gitlab
#gitlab 默认的日志文件存放在/var/log/gitlab 目录下
gitlab-ctl tail #查看所有日志
#禁止 Gitlab 开机自启动
systemctl disable gitlab-runsvdir.service
#启用 Gitlab 开机自启动
systemctl enable gitlab-runsvdir.service
6、Gitlab创建项目
6.1、创建项目demo333
6.2、填写项目名称demo333
Command line instructions
Git global setup
配置这个提交,显示的就是下面配置的姓名和邮箱
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
Create a new repository
git clone git@192.168.184.132:robin/demo333.git
cd demo333
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Existing folder
cd existing_folder
git init
git remote add origin git@192.168.184.132:robin/demo333.git
git add .
git commit -m "Initial commit"
git push -u origin master
Existing Git repository
cd existing_repo
git remote add origin git@192.168.184.132:robin/demo333.git
git push -u origin --all
git push -u origin --tags
6.3、在本地创建项目
6.4、添加本地项目和远程仓库的关联
git init
git add *
git commit -m "first commit"
git remote add origin git@192.168.184.132:robin/demo333.git
git push origin master
7、在jenkins创建任务
7.1、创建一个FreeStyle project
7.2、描述
大概填写即可
7.3、源码管理
配置gitlab仓库的地址
7.4、配置构建触发器
配置触发器,比如推送代码到远程仓库,即可自动开始重新构建部署项目
因为使用的是gitlab,所以下方选择gitlab的;如果是gitee、github选择对应的即可
把上面图片的webhook url和secret填写到gitlab的
最后可以点击Test测试,是否连通
7.5、Build Steps
#!/bin/bash
# 配置部署之后jar包的名称
PROJECT_NAME="demo"
# 项目存放的路径
JENKINS_HOME="/robin/project"
#分支名称
BRANCH_NAME="master"
# jar包存放的路径
DEPLOY_DIR="/robin/deploy"
# 代码地址
GITLAB_REPO="http://192.168.184.128/robin/demo222.git"
mkdir -p $JENKINS_HOME
mkdir -p $DEPLOY_DIR
# 清空部署目录
rm -rf $DEPLOY_DIR/*
# 进入项目目录
cd $JENKINS_HOME
# 从GitLab拉取代码
git clone --branch $BRANCH_NAME $GITLAB_REPO .
# 使用Maven打包项目
mvn clean package
# 切换到项目根目录
cd $JENKINS_HOME
# 复制构建后的jar文件到部署目录
cp target/*.jar $DEPLOY_DIR/$PROJECT_NAME.jar
# 杀掉之前的进程
pid=`ps -ef | grep $PROJECT_NAME.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]; then
kill -9 $pid
fi
# 启动Spring Boot应用
BUILD_ID=dontKillMe
nohup java -jar $DEPLOY_DIR/$PROJECT_NAME.jar > $DEPLOY_DIR/nohup.out 2>&1 &
echo "🎉部署完成......"
最后保存,即可进行Build
jenkins nohup 启动失败原因
参考链接:https://www.cnblogs.com/whm-blog/p/16779474.html