暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

gitee+jenkins实现自动部署

撒呦那啦的前端之路 2021-08-22
1049
前言
    前两篇写了低配置服务器安装gitlab,本来是想搭配gitlab-runner实现自动部署的,但是装完gitlab后访问经常返回502,加上服务器到期之后如果更换服务器,还需要更换代码仓库等问题,就想换一种方式。毕竟最终目的,还是实现自己的自动部署,考虑到github经常访问受限,所以使用gitee来做代码托管,和github一样,功能也很全面,下面就来记录一下部署jenkins和最终实现自动部署的过程。
 主要内容为:      
  1. 安装jenkins和遇到问题以及解决办法。
  2. gitee上传代码实现jenkins自动更新部署。
安装jenkins
首先安装java和git
yum install java
yum install git


然后安装jenkins
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
这一步的时候可能会出现下面报错,提示公钥没有安装
yum install jenkins
    解决方法:
yum install jenkins --nogpgcheck 添加----nogpgcheck进行跳过公钥验证安装
然后就可以启动jenkins了
service jenkins restart




jenkins默认访问8080端口,如果访问不了,查看安全组和防火墙是否开启8080端口

如果想修改访问端口
进入jenkins的主配置文件
/etc/sysconfig/jenkins
vim /etc/sysconfig/jenkins来修改配置
找到JENKINS_PORT="端口号"
然后重启jenkins就可以了
systemctl restart jenkins

然后通过
cat /var/lib/jenkins/secrets/initialAdminPassword
来查看密码进行初始化jenkins


选择安装推荐的插件
这一步的时候可能会出错,提示无法连接到jenkins


解决办法有两种
1.通过访问当前jenkins的地址加路径/pluginManager/advanced,在系统设置里
  修改升级站点https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
  但这个方法有时候不管用。

方法2
  vim /var/lib/jenkins/config.xml
直接修改代码
<useSecurity>true</useSecurity>改成<useSecurity>false</useSecurity>
然后把下面这段删掉
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
  <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
  <disableSignup>true</disableSignup>
  <enableCaptcha>false</enableCaptcha>
</securityRealm>
然后重启就可以了
systemctl restart jenkins
再次进行安装推荐的插件

然后使用admin登陆


在系统管理中选择插件管理,安装插件RebuilderSafeRestart,NodeJs


安装完成后设置全局工具配置node

然后新建一个任务来测试是否可以进行打包

保存后就可以点击立即执行了

可以在工作空间中看到打包后的内容


最后来实现gitee通过webhook来通知jenkins实现自动部署

首先安装两个插件Publish over SSHGeneric Webhook Trigger 

在系统配置中添加ssh


然后选择高级

测试连接,返回success后表明连接成功

设置构建后操作

选择ssh

配置ssh


然后立即构建

在服务器文件夹里就可以看到我们打包好的内容了

配置nginx静态资源的代理地址,就可以访问项目了

server{
listen 8897;
 server_name xxxxx.xx;
 autoindex on;
 location / {
root /work/test/dist ;
index index.html index.htm;
add_header Access-Control-Allow-Origin *;
}
}

配置gitee的webhooks,实现上传代码通知自己的jenkins自动打包

添加完成后,点测试

就可以在jenkins上看到开始构建了

这就是配置的整个过程和遇到的问题,整个实现自己ci/cd部分就结束了,以后如果有机会的话再尝试gitlab+runner的一整套。

文章转载自撒呦那啦的前端之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论