jenkins持续监控代码仓库下拉

简介: jenkins持续监控代码仓库下拉

环境:
gitlab:192.168.8.10
jenkins:192.168.8.20
nginx:192.168.8.30

1.在gitee码云上下载项目代码(gitlab服务器)
cd /root
git clone https://gitee.com/kangjie1209/monitor.git

2.gitlab服务器创建本地代码库
mkdir /web
cd /web

3.登录gitlab,创建新的web项目
admin area -- new project -- 选择dev组,项目名:web -- create

4.在gitlab本地服务器上传代码到gitlab
cd /web
git init
git remote add origin git@192.168.8.10:dev/web.git
git pull origin master
复制monitor内容到/web
git add .
git commit -m "Initial commit"
git push -u origin master

5.登录jenkins,新建自由项目web
new item -- create -- freestyle
-- configure -- 源代码库 -- git -- gitlab路径及公钥认证 -- save
build now:手动同步测试

6.jenjins实现脚本上传网站代码
(1)开启一台虚拟机,安装nginx
yum -y install epel-release
yum -y install nginx
systemctl start nginx
systemctl stop firewalld
setenforce 0

(2)在jenkins上编写上传nginx的脚本
mkdir /scripts
vim /scripts/web.sh
添加:

!/bin/sh

CODE_DIR=/var/lib/jenkins/workspace/web/
WEB_DIR=/usr/share/nginx
IP=192.168.8.30
TIME=date +%F-%H-%M-%S
cd $CODE_DIR && tar zcf /tmp/web-${TIME}.tar.gz ./*
scp /tmp/web-${TIME}.tar.gz $IP:$WEB_DIR
ssh root@$IP "cd $WEB_DIR && mkdir web-$TIME"
ssh root@$IP "cd $WEB_DIR && tar xf web-${TIME}.tar.gz -C web-$TIME && rm -rf web-${TIME}.tar.gz"
ssh root@$IP "cd $WEB_DIR && rm -rf html && ln -s web-$TIME html"
保存退出

(3)jenkins传输公钥到nginx,执行脚本,测试查看nginx网站
ssh-copy-id root@192.168.8.30
sh /scripts/web.sh

(4)Jenkins手动构建,关联脚本,自动上传
项目web -- configure -- build -- Execute shell -- sh /scripts/web.sh

{ 注意:如果安装jenkins后没有修改配置为root,脚本执行如果有权限问题,解决方法
(1)修改jenkins登录shell为修改jenkins登录shell为/bin/bash
vim /etc/passwd
修改:
jenkins:x:990:985:Jenkins Automation Server:/var/lib/jenkins:/bin/bash
保存退出
(2)修改jenkins服务器的本地profile
vim /root/.bash_profile
添加:
export PS1='[\u@\h \W]\$'
保存退出
source /root/.bash_profile
(3)赋予jenkins用户sudo权限
isudo
添加:
jenkins ALL=(ALL) NOPASSWD: ALL
保存退出
}

8.jenkins关联gitlab,实现自动构建上传代码
(1)jenkins:
web项目-- configure -- build triggers -- 勾选最长选项 -- 点击高级advanced
-- 选择Filter branches by name --在include填写master -- 点击generate生成令牌 -- 复制令牌和触发器顶部url路径
-- save保存

bc548c0fbb8ceccef7b00335e428a18c        用自己的令牌和URL路径
http://192.168.8.20:8081/project/web

(2)gitlab:
web项目 -- settings -- integrations -- 把复制的令牌和url粘贴过来 -- add webhook

(3)更新push代码,测试自动构建上传。
在gitlab上,修改代码或添加新的文件,依次执行:git add ; git commit ; git push
例如:
git add .
git commit -m "modify index.html"
git push -u origin master

(4)登录nginx网站,查看更新内容。

目录
相关文章
|
17天前
|
监控 jenkins Linux
从 Jenkins 持续集成出发:探究如何监控员工电脑屏幕
Jenkins 在企业信息化管理中用于自动化构建、测试和部署,提高开发效率。本文讨论了其重要性,并从技术角度探讨了屏幕监控的可能性,但明确反对非法监控,强调应合法合规地管理企业和尊重员工隐私。
61 12
|
4月前
|
Prometheus 监控 Cloud Native
使用 Jenkins 监控和优化构建性能
【8月更文第31天】在软件开发的过程中,构建性能直接影响着开发效率和团队的生产力。一个快速、可靠的构建流程可以显著加快迭代速度,减少等待时间,使团队能够更快地响应变化。Jenkins 作为一款广泛使用的持续集成/持续交付(CI/CD)工具,提供了丰富的功能来帮助开发者监控和优化构建性能。本文将探讨如何利用 Jenkins 的内置工具和外部工具来监控构建性能,并提出一些具体的优化方案。
420 0
|
7月前
|
移动开发 jenkins 持续交付
解决jenkins、git拉取代码仓库失败Please make sure you have the correct access rights
解决jenkins、git拉取代码仓库失败Please make sure you have the correct access rights
145 3
|
jenkins Java 持续交付
『Jenkins』快速安装Jenkins及配置代码仓库
📣读完这篇文章里你能收获到 - Jenkins下载安装 - 在Jenkins中配置Git仓库
644 0
『Jenkins』快速安装Jenkins及配置代码仓库
|
Prometheus 监控 Cloud Native
Prometheus+grafana搭建jenkins监控
为了便于监控Jenkins搭建后的执行情况呢,我们搭建一个完整的监控体系,使用的Prometheus监控报警 ,展示用的是grafana。
Prometheus+grafana搭建jenkins监控
|
1月前
|
jenkins Devops Java
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第27天】在快速发展的软件开发领域,DevOps实践日益重要。Jenkins作为一款流行的开源自动化服务器,在持续集成(CI)和持续部署(CD)中扮演关键角色。本文通过案例分析,探讨Jenkins在Java项目中的应用,展示其自动化构建、测试和部署的能力,提高开发效率和软件质量。
66 2
|
4月前
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
1月前
|
运维 jenkins Java
Jenkins在持续集成与持续部署中的价值
Jenkins在持续集成与持续部署中的价值
|
1月前
|
jenkins Devops 测试技术
DevOps实践:Jenkins在持续集成与持续部署中的价值
【10月更文挑战第26天】随着DevOps理念的普及,Jenkins作为一款开源自动化服务器,在持续集成(CI)与持续部署(CD)中发挥重要作用。本文通过某中型互联网企业的实际案例,展示了Jenkins如何通过自动化构建、持续集成和持续部署,显著提升开发效率、代码质量和软件交付速度,帮助企业解决传统手工操作带来的低效和错误问题。
79 4
|
2月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
83 0