本次服务器环境
- 服务器: centos7.6 (最低配置 2h4g)
- jenkins: 2.387.1
- java: openjdk 11.0.18
- nginx: 1.22.1
搭建服务器环境
1. 安装java环境
这里使用dnf安装,如果linux版本是在centos8以下的是没有dnf的
可以使用
yum install -y dnf
命令安装dnf
DNF 是新一代的 rpm 软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,它取代了 yum,正式成为 Fedora 22 的包管理器。
因为jenkins本身是依赖java的,所以我们需要先安装java环境
这里我安装了java11的环境
dnf search java-11
dnf install java-11-openjdk.x86_64
java --version
2. 安装jenkins
因为Jenkins本身是没有在dnf的软件仓库包中的,所以我们需要连接Jenkins仓库
这里附上官方文档
linux安装jenkins的官方文档
为了方便起见,我这里已经整理好了使用dnf安装的步骤
# wget是Linux中下载文件的一个工具,-O表示输出到某个文件夹并且命名为什么文件
sudo wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
# rpm:全称为The RPM Package Manage,是Linux下一个软件包管理器
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo dnf upgrade
# 安装jenkins
sudo dnf install jenkins
sudo systemctl daemon-reload
这里再对jenkins的启动配置下就OK了~
- 首先是开机自启
sudo systemctl enable jenkins
- 然后启动jenkins
sudo systemctl start jenkins
- 最后查看jenkins当前状态
sudo systemctl status jenkins
查看状态后,如果输出了以下字样就代表成功了~
Loaded: loaded (/lib/systemd/system/jenkins.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-11-13 16:19:01 +03; 4min 57s ago
然后就可以通过公网ip加上端口号 (默认8080) 访问jenkins了
如果访问失败,可以查看防火墙是否打开8080端口
2.1 Jenkins初始化
进入jenkins网址之后就会提示要输入密码的界面,我这里没有截图,按照提示查看本地命令文件的密钥就好
快捷指令 cat /var/lib/jenkins/secrets/initialAdminPassword
这样就可以拿到密钥进入了
之后会有提示jenkins安装依赖的模式,选择新手安装就好啦,他会把默认的依赖插件都安装好的!
安装完成之后按照提示完成一些基本信息就可以来到了主页面
2.2 jenkins配置
- 首先到设置中需要安装node环境
然后搜索node并安装
之后返回设置,目前还是不能直接使用的,还需要配置一下node
然后往下滑,新增一个nodejs保存就好啦
- 安装完毕之后就可以 新建任务了
进入之后填完名字,选择第一个就好
然后源码管理选择 git
然后在添加凭据中加上gitee的账号密码就好,如果是github的话,好像需要添加一个密钥的
- 这里构发器选择 定时构建 就好
- 这里的触发器规则是这样的:定时字符串从左往右分别是:分 时 日 月 周
#每半小时构建一次OR每半小时检查一次远程代码分支,有更新则构建 H/30 * * * * #每两小时构建一次OR每两小时检查一次远程代码分支,有更新则构建 H H/2 * * * #每天凌晨两点定时构建 H 2 * * * #每月15号执行构建 H H 15 * * #工作日,上午9点整执行 H 9 * * 1-5 #每周1,3,5,从8:30开始,截止19:30,每4小时30分构建一次 H/30 8-20/4 * * 1,3,5
- 当然也可以使用 GitHub hook trigger for GITScm polling
- 这个可以在git每次推送的时候,就构建一次
然后构建环境选择我们之前配置好的nodejs
最后在 Build Steps 中选择shell脚本保存即可
pwd
node -v
npm -v
npm install
npm run build
echo '构建成功'
ls
# ps: 以下路径是根据项目,本机环境修改的,并不是固定的
rm -rf /root/hyhBlog/*
cp -rf ./public/* /root/hyhBlog/
注意哦,我这里的 hyhBlog 是我部署项目的文件夹,这样自己创建的哈,同时也是之后nginx的静态文件夹
2.3 配置jenkins权限
至此整个任务已经写完了,但是最后两个命令还是跑不起来的,因为jenkins没有权限
我们这里需要给jenkins用户root权限
- 修改配置文件
/etc/sysconfig/jenkins
- 其中
JENKINS_USER="root"
- 其中
- 修改配置文件
/usr/lib/systemd/system/jenkins.service
- 其中
User=root
Group=root
- 其中
然后重启jenkins
systemctl daemon-reload
2.4 测试jenkins
现在就可以点击 立即构建 测试一下啦
然后点进构建任务中,这里是有控制台打印的
执行完成之后,就可以查看文件夹中打包有项目的文件啦
3. 安装nginx
命令一套流程~
dnf install nginx
systemctl start nginx
systemctl status nginx
systemctl enable nginx
之后在配置一下nginx
重启nginx就ok
systemctl restart nginx
至此自动化部署就大功告成啦!!!
原文链接:https://juejin.cn/post/7212603037667180605 作者:coderhyh