做租赁哪个网站好/引流推广平台
目录
一、部署
1、简介
2、部署
二、配置
三、实时触发
四、自动化构建docker镜像
五、通过ssh插件交付任务
六、添加jenkins节点
七、RBAC
八、pipeline
九、jenkins结合ansible参数化构建
1、安装ansible
2、新建gitlab项目
3、jenkins新建项目playbook
一、部署
1、简介
- Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。
- Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。
- CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。
- CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。
2、部署
软件下载:Index of /jenkins/redhat/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
rpm -ivh jdk-11.0.15_linux-x64_bin.rpm
yum install -y fontconfig
rpm -ivh jenkins-2.395-1.1.noarch.rpm
启动服务:
systemctl enable --now jenkins.service
netstat -antlp|grep :8080
登录:
http://192.168.67.22:8080/
初始密码:
cat /var/lib/ienkins/secrets/initialAdminPassword
安装推荐插件
无需新建用户,直接使用admin账户
二、配置
修改密码:
新建项目:
当是这个错误时:
在jenkins主机上安装git工具:
yum install -y git
当是这个错误时:
创建密钥并上传gitlab:
ssh-keygen
添加gitlab认证凭据:
复制私钥:
当是这个错误时:
配置ssh
构建触发器
构建任务
指定分支
查看控制台输出
测试:
上传
三、实时触发
安装gitlab插件
配置项目触发器:
配置gitlab:
再回到demo项目下配置
将前面生成的token输入
测试推送:
四、自动化构建docker镜像
安装docker-ce
cd /etc/yum.repos.d/
vim docker.repo[docker]
name=docker-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/7/x86_64/stable/
gpgcheck=0[update]
name=centos
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/extras/x86_64/
gpgcheck=0yum install -y docker-ce
修改内核参数
配置docker默认仓库
拷贝仓库证书
添加解析
测试拉取
安装CloudBees Docker Build and Publish插件
配置项目构建
高级里边
修改docker.sock权限,不然jenkins无法直接执行docker命令
把主机上的docker login信息拷贝到Jenkins上
docker login reg.westos.orgcp -r /root/.docker/ /var/lib/jenkins/
cd /var/lib/jenkins/
chown -R jenkins.jenkins .docker/
在cicd1上提交Dockerfile
vim DockerfileFROM nginx
COPY index.html /usr/share/nginx/htmlecho www.yyl.org >> index.htmlgit add .
git commit -m "add Dockerfile"
git push -u origin main
此时gitlab会主动触发jenkins构建任务,观察jenkins的任务输出
五、通过ssh插件交付任务
新建测试虚拟机cicd3 上安装docker-ce
同上
安装
修改内核参数
拷贝仓库证书
jenkins安装ssh插件
进入系统配置,添加ssh主机 添加新的凭据
新建docker_test项目
当project项目成功运行后触发docker_test项目
构建后查看输出
测试
触发
六、添加jenkins节点
安装jdk和git
rpm -ivh jdk-11.0.15_linux-x64_bin.rpm
yum install -y git













七、RBAC
安装插件
修改默认授权策略
新建测试用户
新建角色
用户授权
使用不同的用户登录,测试权限是否正确
八、pipeline
添加ssh
新建流水线项目 docker_image_build
配置
pipeline {agent anystages {stage('check out') {steps {git credentialsId: 'f3a3dc6f-e7d6-45ae-9336-43dca000fcee', url: 'git@192.168.67.21:gitlab-instance-ae16f24d/demo.git', branch: 'main'}}stage('docker build') {steps {sh '''cd $WORKSPACEdocker build -t reg.westos.org/library/webserver:${BUILD_NUMBER} .'''}}stage('docker push') {steps {sh '''REPOSITORY=reg.westos.org/library/webserver:${BUILD_NUMBER}docker tag $REPOSITORY reg.westos.org/library/webserver:latestdocker login reg.westos.org -u admin -p 123456docker push $REPOSITORYdocker push reg.westos.org/library/webserver:latest'''}}stage('docker deploy') {steps {sshagent(credentials: ['74dcb735-12f0-419f-aa0c-880ce3a763e9']) {sh '''ssh -o StrictHostKeyChecking=no root@192.168.67.23 """docker ps -a |grep myapp && docker rm -f myappdocker rmi reg.westos.org/library/webserver:latestdocker run -d --name myapp -p 80:80 reg.westos.org/library/webserver:latest """'''}}}}
}
九、jenkins结合ansible参数化构建
主机环境
主机 | IP | 角色 |
cicd1 | 192.168.67.21 | 测试机test、devops sudo |
cicd2 | 192.168.67.22 | jenkins、ansible |
cicd3 | 192.168.67.23 | 测试机prod、devops sudo |
1、安装ansible
vim /etc/yum.repos.d/ansible.repo[ansible]
name=epel
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
gpgcheck=0yum install -y ansible
devops是测试机的ssh免密用户,并且配置sudo
useradd devops
echo westos | passwd --stdin devops
visudodevops ALL=(ALL) NOPASSWD: ALL
在ansible主机上以jenkins身份配置ssh免密到所有测试机
usermod -s /bin/bash jenkins
su - jenkinsssh-copy-id devops@192.168.67.21
ssh-copy-id devops@192.168.67.23
2、新建gitlab项目
克隆项目
git clone git@192.168.67.21:root/playbook.git
cd playbook/vim ansible.cfg[defaults]
command_warnings=False
remote_user=devops[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=Falsemkdir inventory
cd inventory/vim test[test]
192.168.67.21 http_port=8000vim prod[prod]
192.168.67.23 http_port=8080cd ..vim playbook.yaml---
- hosts: alltasks:- name: install the latest version of Apacheyum:name: httpdstate: latest- name: configure apachetemplate:src: httpd.conf.j2dest: /etc/httpd/conf/httpd.confnotify: restart apache- name: Start service httpd, if not startedservice:name: httpdstate: startedenabled: yeshandlers:- name: restart apacheservice:name: httpdstate: restartedyum install -y httpd
cp /etc/httpd/conf/httpd.conf .
mv httpd.conf httpd.conf.j2
vim httpd.conf.j2修改端口
Listen {{ http_port }}
推送项目
git add .
git commit -m "add playbook"
git push -u origin main
3、jenkins新建项目playbook
新建:
选择参数构建:
添加首页:
echo cicd1 > /var/www/html/index.html
echo cicd3 > /var/www/html/index.html
测试:
相关文章:

CI/CD - jenkins
目录 一、部署 1、简介 2、部署 二、配置 三、实时触发 四、自动化构建docker镜像 五、通过ssh插件交付任务 六、添加jenkins节点 七、RBAC 八、pipeline 九、jenkins结合ansible参数化构建 1、安装ansible 2、新建gitlab项目 3、jenkins新建项目playbook 一、部…...

【【萌新的SOC学习之 VDMA 彩条显示实验之一】】
萌新的SOC学习之 VDMA 彩条显示实验之一 实验任务 : 本章的实验任务是 PS写彩条数据至 DDR3 内存中 然后通过 VDMA IP核 将彩条数据显示在 RGB LCD 液晶屏上 下面是本次实验的系统框图 VDMA 通过 HP接口 与 PS端的 DDR 存储器 进行交互 因为 VDMA 出来的是 str…...

相机通用类之海康相机,软触发硬触发(飞拍),并输出halcon格式对象
//在此之前可以先浏览我编写的通用上位机类,更方便理解 https://blog.csdn.net/m0_51559565/article/details/134403745最近完成一个关于海康采图的demo,记录并说明用法。 先上代码。using System; using System.Collections.Generic; using System.Runt…...

linux时间调整
查看当前系统时间 [rootVM-12-12-centos ~]# date Sat Nov 18 16:09:11 CST 2023 Sat:表示星期六Saturday的缩写 Nov:表示十一月November的缩写 18:表示日期18号 16:09:11:时间 CST:China Standard Time中国标准…...

C++模版初阶
泛型编程 如下的交换函数中,它们只有类型的不同,应该怎么实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left;left right;right temp; }void Swap(double& left, double& right) {double temp…...

软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】
软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】 课本里章节里所有蓝色字体的思维导图...

Go 语言结构体验证详解:validate 标签与自定义规则
介绍 Go 语言中,结构体验证是保障数据完整性和正确性的重要手段之一。本文将深入探讨 validate 标签的使用方式,并介绍如何结合验证库 go-playground/validator 进行自定义验证规则。 安装与导入验证库 首先,请确保已安装验证库:…...

软考-高级-系统架构设计师教程(清华第2版)【第19章 大数据架构设计理论与实践 (P691~716)-思维导图】
软考-高级-系统架构设计师教程(清华第2版)【第19章 大数据架构设计理论与实践 (P691~716)-思维导图】 课本里章节里所有蓝色字体的思维导图...

深度学习YOLOv5车辆颜色识别检测 - python opencv 计算机竞赛
文章目录 1 前言2 实现效果3 CNN卷积神经网络4 Yolov56 数据集处理及模型训练5 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习YOLOv5车辆颜色识别检测 ** 该项目较为新颖,适合作为竞赛课题方向࿰…...

c语言-浅谈指针(3)
文章目录 1.字符指针变量常见的字符指针初始化另一种字符指针初始化例: 2.数组指针变量什么是数组指针变量数组指针变量创建数组指针变量初始化例(二维数组传参的本质) 3.函数指针变量什么是函数指针变量呢?函数指针变量创建函数指…...

从服务器端获取人脸数据,在本地检测特征,并将特征发送给服务器
目录 1.定义函数get_database_process: 2.定义函数features_construct: 3.定义函数send_features_data: 4. 定义函数database_features_construct: 5. main 函数 1.定义函数get_database_process: …...

ARDUINO UNO 12颗LED超酷流水灯效果
效果代码: #define t 30 #define t1 20 #define t2 100 #define t3 50 void setup() { // set up pins 2 to 13 as outputs for (int i 2; i < 13; i) { pinMode(i, OUTPUT); } } /Effect 1 void loop() { effect_1(); effect_1(); effect_…...

Linux下查看pytorch运行时真正调用的cuda版本
一般情况我们会安装使用多个cuda版本。而且pytorch在安装时也会自动安装一个对应的版本。 正确查看方式: 想要查看 Pytorch 实际使用的运行时的 cuda 目录,可以直接输出 cpp_extension.py 中的 CUDA_HOME 变量。 import torch import torch.utils imp…...

分享mfc140u.dll丢失的解决方法,针对原因解决mfc140u.dll丢失的问题
作为电脑小白,如果电脑中出现了mfc140u.dll丢失的问题,肯定会比较的慌乱。但是出现mfc140u.dll丢失的问题,其实也有很简单的办法,所以大家不用慌张,接下来就教大家解决办法,能够有效的解决mfc140u.dll丢失的…...

torch_cluster、torch_scatter、torch_sparse三个包的安装
涉及到下面几个包安装的时候经常会出现问题,这里我使用先下载然后再安装的办法: pip install torch_cluster pip install torch_scatter pip install torch_sparse 1、选择你对应的torch版本:https://data.pyg.org/whl/ 2、点进去然后&…...

软件安利——火绒安全
近年来,以优化、驱动、管理为目标所打造的软件屡见不鲜,大同小异的电脑管家相继走入了公众的视野。然而,在这日益急功近利的社会氛围驱动之下,真正坚持初心、优先考虑用户体验的电脑管家逐渐湮没在了浪潮之中。无论是鲁大师&#…...

Induced AI:一个专门为自动化任务而设计的AI原生浏览器RPA平台
内容来源:xiaohuggg Induced AI:一个专门为自动化任务而设计的AI原生浏览器RPA平台 刚刚获得OpenAI CEOsama的个人投资! 它能够模拟人类浏览网页的行为,自动化地浏览网页,搜集关键信息,并对这些信息进行…...

vue3中使用reactive定义的变量响应式丢失问题(大坑!!!)
前言 在Vue 3中,可以使用reactive函数将普通JavaScript对象转换为响应式对象,这样当对象的属性发生变化时,就会自动更新相应的UI。 但是请注意以下情况可能会丢失数据的响应式: 响应式丢失的情况: 1、对使用reactiv…...

Windows Server 2012 R2系统服务器远程桌面服务多用户登录配置分享
Windows Server 2012系统在没有安装远程多界面的情况下,最多只能同时运行2个远程桌面,如果是有多个技术员、合伙人同时操作或是像游戏开发需要用到多界面,但是没有安装就很不方便,今天飞飞来和你们分享Windows server 2012R2系统远…...

mysql之搭建MHA架构实现高可用
1、定义 全称是masterhigh avaliabulity。基于主库的高可用环境下可以实现主从复制及故障切换(基于主从复制才能故障切换) MHA最少要求一主两从,半同步复制模式 2、作用 解决mysql的单点故障问题。一旦主库崩溃,MHA可以在0-30…...

Databend 与海外某电信签约:共创海外电信数据仓库新纪元
为什么选择 Databend 海外某电信面临的主要挑战是随着业务量的增加,传统的 Clickhouse Hive 方案在数据存储和处理上开始显露不足。 原来的大数据分析采用的 Clickhouse Hive 方案进行离线的实时报表。但随着业务量的上升后,Hive的数据存储压力变大&…...

scala解析命令行参数
如何用scala解析命令行参数: 首先,需要在项目中添加Apache Commons CLI库的依赖。可以在build.sbt文件中添加如下行: libraryDependencies "commons-cli" % "commons-cli" % "1.4" import org.apache.comm…...

盘点60个Python各行各业管理系统源码Python爱好者不容错过
盘点60个Python各行各业管理系统源码Python爱好者不容错过 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 源码下载链接:https://pan.baidu.com/s/1VdAFp4P0mtWmsA158oC-aA?pwd8888 提取码:8888 项目名…...

SpringSecurity6 | 自动配置(下)
✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Java从入门到精通 ✨特色专栏…...

6、传统CV之均值滤波
在前5节,从最基础的像素开始了介绍,并且着重介绍了像素局部性、RGB图片和YUV图片以及通道的概念。 其实写那么多,很多细节知识也不用都学会,只需要知道计算机在处理图片时,看到的都是一堆像素,而这一堆像素,都是以数据点的形式存放在计算机中的。 为了更好的展示图像和…...

快速搭建本地的chatgpt
快速搭建本地的chatgpt 参考:一篇文章教你使用Docker本地化部署Chatgpt(非api,速度非常快!!!)及裸连GPT的方式(告别镜像GPT)-CSDN博客 前提是linux下 已安装docker 命…...

分布式下多节点WebSocket消息收发
1、使用场景 2、疑问 第一次发送请求后,通过N1,W2,到达service2,建立websocket连接。 1、接下来发送的消息,通过Ngixn后和网关gateway后还能落在service2上面吗? 如果不能落在service2上,需要怎…...

LeetCode算法题解(动态规划)|LeetCode509. 斐波那契数、LeetCode70. 爬楼梯、LeetCode746. 使用最小花费爬楼梯
一、LeetCode509. 斐波那契数 题目链接:509. 斐波那契数 题目描述: 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:…...

【图像处理】:Otsu算法最大类间方差法(大津算法:附源码)
这里写自定义目录标题 数学原理算法评价参考链接 数学原理 以灰度图像为例,对于图像MN大小的矩阵,即图像中的像素,每一个值即为像素值,其中灰度图像像素值在(0~255)之间。 主要实现前景(即目标)和背景的分割: 主要公式…...

【uni-app】设置背景颜色相关
1. 全局页面背景色设置: 在App.vue的style样式表中设置 <style> page {background-color: #F0AD4E; } </style> 2. 顶部导航栏背景色设置: 在pages.json页面路由中,globalStyle设置 "globalStyle": {"navi…...