Jenkins持续集成1
virsh start vm3
ssh root@172.25.0.3
lftp 172.25.0.250
cd pub/docs/
cd jekins/
ls
get jenkins-2.338-1.1.noarch.rpm
yum search java
yum install java-1.8.0-openjdk.x86_64 -y #先装jdk
rpm -ivh jenkins-2.338-1.1.noarch.rpm
systemctl start jenkins #要确保虚拟机可以联网
如果出现了问题,使用journalctl -xe
systemctl status jenkins.service
netstat -antlp
访问:172.25.0.3:8080便会出现界面
cd /var/lib/jenkins/
cat hudson.model.UpdateCenter.xml #默认的插件更新中心
/etc/init.d/jenkins start #脚本启动
cat /etc/log/messages
如果比较慢,
使用第一条链路,查看那个站点的速度对你来说比较快。选择比较稳定的
把连接同步到
cd /var/lib/jenkins/
ls
vim hudson.model.UpdateCenter.xml
在走连接的时候是需要证书的。上面ppt中有,然后重启jenkins,然后会在jenkins目录中生成update
cd update/
其中的default.json就是上图的内容
du -h default.json
使用以下文件里的密码。
安装社区推荐的,直接使用admin
启用中文插件,然后重新进入
在设置里面,修改密码
实验测试
Gitlab和jenkins做整合
将gitlab的项目代码拉到jenkins
因为使用git的方式拉取的,所以要在节点上安装git
安装之后,会出现
添加证书
server3
ssh-keygen
cd .ssh/
cat id_rsa.pub #server3的公钥
将server3的公钥上传到gitlab上
cat id_rsa #私钥
将私钥上传到里面,如果创建秘钥时有通行码的话,在passphrase中填,如果没有则不填
描述:gitlab sshkey
查看其中的主分支名称
然后保存
控制台输出
在管理插件,选择可选插件,查询gitlab相关的
然后直接安装
点击高级,生成密码
保存生效
如果出错了
保存修改
保存之后,push一下
server2
cd project1/
ls
vim Dockerfile
git add Dockerfile
git commit -m "add Dockerfile"
git push -uf prigin main
只是将git的代码触发了,交给jenkins
生产环境中,
把写好的代码封装到镜像里,通过编写Dockerfile 提交,构建任务通过jenkins自动完成。
目前的实验是,用户将git代码上传到gitlab中,触发jenkins的webhook,通知jenkins,再由jenkins构建
Jenkins构建:
通过dockerfile构建镜像,并把这个镜像上传到仓库
jenkens做构建
进入之前建的项目中,点击配置
找到插件管理
通过dockerfile构建镜像,并且将镜像上传到仓库
需要以上插件,点击安装
如果此时空间不够了,在server3上装个docker
server1
cd harbor/
docker-compose ps
docker-compose start
server3
cd /etc/yum.repos.d/
vim docker.repo
yum install -y docker-ce
server1
cd /etc/sysctl.d/
ls
scp docker.conf server3:/etc/sysctl.d/
server3
sysctl --system
systemctl start docker
docker info
cd
cd /etc/docker/
ls
vim /etc/hosts
172.25.0.3 server1 reg.westos.org #解析
server1
cd /etc/docker/
ls
scp -r certs.d/ server3:/etc/docker/
scp daemon.json server3:/etc/docker/ #设置的阿里云的专属加速器
server3
systemctl restart docker
ll /var/run/docker.sock
id jenkins
chmod 777 /var/run/docker.sock #让Jenkins用户可以访问这个docker引擎
unix://表示本机
测试
手动触发
点击进去,查看控制台
数据在
server3
cd /var/lib/jenkins/workspace/
cd test
ls
cat index.html
cat Dockerfile
通过jenkins交付
在没有测试成功之前,不给签名
做测试
这个项目中不需要git,因为这个项目是为了跑docker的
为什么要删除镜像,因为如果镜像已经是最新的,就不会在仓库中拉取镜像,还是会使用本机的。
server3
curl localhost
思路:
用户 git push到 gitlab 触发jenkins,jenkins构建和Push镜像到harbor仓库, 第二个项目是第一个项目稳定创建之后才会触发,然后会触发第二个项目,开始执行第二个项目。
可能还需要解决一个问题:如果构建项目过多,那样会影响平台的正常运作,所以会把这些操作分不到不同节点上去操作,
怎么交付到远端主机上
server4
cim daemon.json
在配置中
删除server3上的容器
docker ps
docker rm -f webserver
server4
docker ps
server2
cd project1/
ls
vim index.html
git commit -a -m "updata v3"
git push -uf origin main
可以把jenkins和k8s整合和云端整合
Jenkins持续集成1相关推荐
- 使用Jenkins持续集成Vue项目配置Sonar任务
title: 使用Jenkins持续集成Vue项目配置Sonar任务 tags: jenkins Vue.js Sonar categories: ci date: 2017-12-05 22:09: ...
- Jenkins持续集成学习-Windows环境进行.Net开发4
目录 Jenkins持续集成学习-Windows环境进行.Net开发4 目录 前言 目标 Github持续集成 提交代码到Github 从Github更新代码 git上显示构建状态 自动触发构建 Gi ...
- 半天搭建你的Jenkins持续集成与自动化部署系统
前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛.由于我们所做的系统业务复杂,系统庞大,设计到多个系统之间的合作,而核心系统更是采用分布式系统架构,由 ...
- centos下搭建Jenkins持续集成环境(安装jenkins)
centos下搭建Jenkins持续集成环境(安装jenkins) 1.安装JDK yum install -y java 2.安装jenkins 添加Jenkins库到yum库,Jenkins将从这 ...
- Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目
Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目 前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+ ...
- Jenkins持续集成环境, 如何自定义 maven repositories
假设自定义的仓库路径为"/opt/repository",那么在"系统管理-系统设置"中,修改"全局MAVEN_OPTS"的值为如下的内容: ...
- 超详细的jenkins持续集成工作原理、功能、部署方式等介绍
文章由LinuxBoy分享于2019-08-30 11:08:39 超详细的jenkins持续集成工作原理.功能.部署方式等介绍 1. 概念 jenkins是一个开源项目,提供了一种易于使用的持续集成 ...
- Gitlab+jenkins持续集成+自动化部署(三)
搭建gitlab+Jenkins自动化部署 在jenkins上安装插件 Build Authorization Token Root Plugin. Build Authorization Token ...
- 【测试开发】的Devops持续集成部署体系之Jenkins持续集成和持续部署基础应用
目录 [一]:Jenkins 持续集成安装及使用简介 一.前言 二.初始化 Jenkins 插件和管理员用户 2.1 进入如下页面,输入上面出现的口令 2.2 进入选择安装插件的页面后,可以选择安装社 ...
- Jenkins持续集成入门到精通
Jenkins持续集成入门到精通 文章目录 Jenkins持续集成入门到精通 1. 持续集成及Jenkins介绍 1.1 软件开发生命周期 1.2 软件开发瀑布模型 1.3 软件的敏捷开发 1.3.1 ...
最新文章
- 蓝桥杯国赛-估计人数
- ASA防火墙透明模式ACL总结
- Python使用matplotlib可视化柱状图、坐标轴标签的符号(-)显示为了方框□□、设置rcParams参数配置解决
- 举例详细说明javascript作用域、闭包原理以及性能问题(转)
- 微信小程序学习:开发注意点
- Pyhon Django 表单类ModelForm注册案例(可直接操作数据库)
- cf1009F. Dominant Indices
- 一文让你秒懂各种进制的前缀
- 新唐M0 KEIL环境搭建,找不到device不识别,关键:Nu-Link_Keil_Driver
- 什么是5G,我们能从中得到什么?
- matlab安装无效距离过远,求助matlab的远程序
- 离线排序——LR模型
- python中如何调用类takes no arguments_关于python中的 take no arguments 的解决方法
- 安装python、pycharm 和anaconda
- java oracle spool,oracle之spool详细使用总结
- android studio如何重启,从Android Studio重新启动ADB(Restart ADB from Android Studio)
- 微信支付宝支付开发文档
- AM437X系列编译环境搭建
- aosp_015.配置编译文件,删除自带app
- 谷粒学院(十九)统计分析模块 | 定时任务 | echarts
热门文章
- Flutter 启动页面
- asio::streambuf的使用
- surface 哪个系列适合java开发,微软Surface系列有这么多,我到底该选哪台才好?...
- 经典测试案例:三角形的测试
- html获取选中复选框的值,jquery获取复选框被选中的值
- 如何打开计算机控制界面,打开电脑控制面板(Windows OS)
- 什么是销售漏斗(Pipeline)管理:销售指导指南
- c语言中计算一个字母的序数,C语言编程 输入一串字符统计英文字母的个数
- JavaScript弹出框 元素文本输入
- core data 介绍