jenkins(2)

简介: 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

       保存退出

}  



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


相关文章
|
8月前
|
人工智能 数据可视化 C++
Math24o:SuperCLUE开源的高中奥数推理测评基准,85.71分屠榜
Math24o是首个针对高中奥林匹克数学竞赛的中文大模型测评基准,采用2024年预赛真题实现自动化评估,为模型数学推理能力提供客观衡量标准。
272 48
Math24o:SuperCLUE开源的高中奥数推理测评基准,85.71分屠榜
|
9月前
|
人工智能 架构师 Java
最高裁95%,只留5% 用AI的,某上市公司全面ai化。你的岗位,AI入侵指数是 多少?多久消失?
本文探讨了AI对不同岗位的冲击及未来趋势,特别提到上美股份大规模裁员以保留能使用AI的员工。文中分析了Java开发、大数据开发、架构师、产品经理等岗位的AI入侵指数,指出高风险和低风险岗位,并建议进入AI入侵指数低的领域如Java+AI+大数据架构师。此外,文章还介绍了尼恩团队的大模型学习资源和面试指导服务,帮助从业者提升技能,应对AI时代的挑战。
|
11月前
|
机器学习/深度学习 人工智能 数据挖掘
《C++数据降维之道:PCA 与 t - SNE 助力信息留存》
在大数据与人工智能时代,数据维度的爆炸式增长给存储、传输和处理带来了巨大挑战。数据降维技术如主成分分析(PCA)和 t-分布随机邻域嵌入(t-SNE)成为关键解决方案。本文探讨了如何在 C++ 中运用这些方法,有效减少数据维度并保留关键信息,为数据分析和机器学习提供支持。
236 19
【操作系统】实验九 写一个设备驱动程序
【操作系统】实验九 写一个设备驱动程序
371 1
|
Linux 数据安全/隐私保护 Python
Linux配置网卡、创建用户赋予sudo权限、互信息等基本操作
以上是Linux配置网卡、创建用户赋予sudo权限、互信息的基本操作。这些步骤可以用于在Linux系统上进行网络配置、用户管理和信息分析。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
401 4
|
机器学习/深度学习 人工智能 Java
【Sping Boot与机器学习融合:构建赋能AI的微服务应用实战】
【Sping Boot与机器学习融合:构建赋能AI的微服务应用实战】
283 1
|
小程序 存储 UED
如何实现一次搭建 多平台适配的小程序
【6月更文挑战第3天】如何实现一次搭建 多平台适配的小程序
|
网络安全 PHP 数据安全/隐私保护
[网络安全/CTF] 记一次PHP序列化反序列化解题详析
[网络安全/CTF] 记一次PHP序列化反序列化解题详析
266 5
|
开发工具 git
git设置默认编辑为vim
f you want to set the editor only for Git, do either (you don’t need both): Set core.editor in your Git config: git config --global core.
3231 0

热门文章

最新文章