jenkins-2

简介: jenkins-2

环境:

   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网站,查看更新内容。


相关文章
|
存储 缓存 监控
JVM 21 的调优指南:如何进行JVM调优,JVM调优参数
聊聊关于JVM 21的优化指南。这篇文章将会深入探讨如何进行JVM调优,介绍一些关键的JVM调优参数,并提供12个实用的代码示例。由于篇幅较长,我会分几个部分来详细讲解,之前写的也有33篇系列教程JVM调优实战打击也可以去围观。
1344 0
RGB颜色模型和HSV颜色模型
RGB颜色模型和HSV颜色模型“【5月更文挑战第22天】”
1405 2
|
5月前
|
人工智能 资源调度 API
为什么我建议开发者建一个Discord社群?不只是拉人,更是技术协作的加速器
为AI开发者,观察到技术人技能越深、圈子越窄。通过加入Discord技术社群(CanopyWave),发现高效协作的关键在于“资源调度力”与“信息流转速度”,而这两者皆依赖优质社群。分享了频道分层运营、自然互邀机制、贡献导向规则及轻量建群建议,强调技术社群应以真实需求为起点,重价值、轻规模。
472 2
|
4月前
|
存储 NoSQL 数据库
办公Agent的长期记忆设计:记住员工偏好(通知方式、常用模板)
本文揭秘如何为办公Agent设计靠谱的长期记忆系统:通过三层偏好模型(显式/隐式/场景化)、混合存储方案、智能更新遗忘机制及隐私保护设计,让Agent真正“记住你”——不再重复提问,主动适配习惯。不堆术语,只讲实战经验与避坑指南。(239字)
380 0
|
4月前
|
前端开发 开发者 容器
前端组件库 ——LayUI 知识点大全(二)
教程来源 https://tmywi.cn LayUI提供灵活的布局系统,含固定宽(layui-container)与自适应宽(layui-fluid)两种容器;栅格基于12列响应式设计,支持多端适配(xs/sm/md/lg)、列偏移、列间距等功能,助力快速构建现代化页面结构。
|
5月前
|
机器人 数据安全/隐私保护 开发者
【简单详细教程】OpenClaw 钉钉机器人配置与使用实操指南(技术分享)
本文详解OpenClaw v2.6.4对接钉钉企业内部机器人的完整流程:创建应用→添加机器人能力→配置信息(推荐Stream模式)→发布版本→获取Client ID/Secret并配置网关。步骤清晰、零公网依赖,适合内网部署,助你快速实现钉钉内高效任务处理与信息交互。
|
JSON 前端开发 Java
SpringBoot后端接口请求参数映射方式详解
SpringBoot后端接口请求参数映射方式详解
1640 0
|
存储 C语言
C语言中a 和&a 有什么区别
在C语言中,"a" 是一个变量的名字,代表存储在内存中的某个值。而"&a" 则是获取该变量的内存地址,即变量a在计算机内存中的具体位置。这两者的主要区别在于:"a" 操作的是变量中的值,"&a" 操作的是变量的内存地址。
2755 23
|
存储 并行计算 数据挖掘
如何优化大规模数据处理的性能
在当今大数据时代,对于使用大规模数据处理技术进行数据分析和挖掘的企业和组织来说,优化数据处理性能已经成为一项关键任务。本文将介绍如何通过并行计算、数据分片、内存管理等技术手段,优化大规模数据处理的性能,以提高数据分析和挖掘的效率。
|
算法 安全 网络安全
什么是GMP?
该文章介绍了GMP(GNU Multiple Precision Arithmetic Library),这是一个用于任意精度整数、有理数和浮点数运算的开源库,特别适用于密码学、网络安全和计算代数等领域,以其高性能和优化的算法而著称。
1344 2