Jenkins自动化前后端项目部署以及一些坑

简介: Jenkins自动化前后端项目部署以及一些坑

自动化部署原理:git提交代码仓库会向你配置的服务器发送一条记录,服务器解析记录分析对应的项目以及判断该分支提交该做哪些操作,然后执行预设的shell脚本,我们使用Jenkins来处理hook响应。

Jenkins依赖Java环境,默认服务器已经安装好Jdk与Tomcat

0. 开始安装

下载war包 http://mirrors.jenkins.io

启动Tomcat安装,此时Jenkins已经运行,打开网页后按照提示在服务器对应文件中找到密码,输入并进入新手安装,选择默认的安装,这时别管它,应该会出现一系列失败,先进入tomcat刚安装的对应目录中:

截屏20201129 下午6.31.07.png

找到路径 \WEB-INF\detached-plugins 文件夹下确认是否存在 cloudbees-folder.hpi 这个文件,如果缺少则这里手动下载后放进去,这是第一个坑点。

进入工作目录(不是安装目录,一般是root文件夹下的.jenkins文件夹),找到hudson.model.UpdateCenter.xml这个文件,将URL改为https://updates.jenkins-zh.cn/update-center.json

工作目录下updates文件夹default.json文件中,将所有 http://updates.jenkins-ci.org/download/ 替换为 https://updates.jenkins-zh.cn/

这是为了确保初始化不会因为网络问题卡死,重启Jenkins,等待安装完成。

1. 创建用户

首先配置下git,进入Manager -> Global Tool Config… 找到 Git 位置 Path to Git executable 填入路径 :/usr/local/git/bin/git

截屏20201129 下午6.39.27.png

开启Webhook链接:进入Manager -> Configure System,找到GitHub -> 高级 -> 勾选Hook URL打开,复制下payload Url
通常是 http://你的域名/github-webhook/

进入 GitHub,点击setting,进入setting页面点击左下角的Developer settings,点击跳转到Personal access tokens,创建token,勾选 repo 和 admin:repo_hook;

进入Jenkins configure配置githubserver,(Credentials)Add选择“secret text”---Secret输入token,勾选管理hook

Yum配置国内源(已配置略过)
# 添加: /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8

2. Git相关

下载GIt
https://mirrors.edge.kernel.org/pub/software/scm/git/

git --version
yum remove -y git
yum -y install libcurl-devel expat-devel curl-devel  gettext-devel openssl-devel zlib-devel
yum -y install  gcc perl-ExtUtils-MakeMaker
cd /usr/local/src/
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.1.1.tar.gz
tar -zvxf git-2.1.1.tar.gz
cd git-2.1.1
make prefix=/usr/local/git all
make prefix=/usr/local/git install

添加git到环境变量(可能需要)

echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc

注意在Github的相关项目下 Settings Webhooks 配置push时payload。

3. 通常的配置实例

截屏20201129 下午7.13.44.png截屏20201129 下午7.14.24.png截屏20201129 下午7.14.47.png

备注:这里一般不勾选“构建环境”中的Delete workplace....会增加构建时间。

4. 常用构建shell记录

rm -rf /某工程项目目录/* # 每次部署先清空,适合较小项目
mv -f ./* /某工程项目目录 # 转移部署文件到指定目录
chmod -R 775 /某工程项目目录 # 设置权限防止nginx403
相关文章
|
26天前
|
jenkins 持续交付
Jenkins自动化部署脚本
Jenkins自动化部署脚本
28 0
|
2月前
|
IDE jenkins Java
告别繁琐配置:Alibaba Cloud Toolkit插件打破Jenkins自动化部署的局限
告别繁琐配置:Alibaba Cloud Toolkit插件打破Jenkins自动化部署的局限
102 0
|
4月前
|
安全 jenkins 持续交付
使用Jenkins自动化上网时间监测软件的发布流程
在当前互联网时代,人们对上网时间的监测变得愈发重要。为了满足这一需求,我们可以利用Jenkins来自动化发布上网时间监测软件,以确保高效、可靠地监测用户的在线活动。本文将介绍如何使用Jenkins搭建自动发布流程,并通过代码示例展示关键步骤。
217 0
|
2月前
|
jenkins 应用服务中间件 持续交付
Git + Jenkins 自动化 NGINX 发布简易实现
Git + Jenkins 自动化 NGINX 发布简易实现
|
18天前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
38 6
|
3月前
|
前端开发 jenkins 持续交付
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-3
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
63 0
|
3月前
|
jenkins Java 持续交付
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-2
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
52 0
|
3月前
|
前端开发 Java jenkins
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)-1
前后端分离项目知识汇总(GateWay,Nacos配置中心,Jenkins自动化部署,项目总结)
52 0
|
3月前
|
JavaScript jenkins 应用服务中间件
Jenkins + Github + Nginx 自动化部署 Vue 项目
Jenkins + Github + Nginx 自动化部署 Vue 项目
151 0
|
4月前
|
jenkins Java Shell
一文搞定Jenkins自动化部署程序
一文搞定Jenkins自动化部署程序
59 0

热门文章

最新文章