持续集成之jenkins

一、了解Jenkins

Jenkins是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins非常易于安装和配置,简单易用。

官网: https://jenkins.io
能够实现git+github+jenkins手动构建

能够实现git+gitlab+jenkins自动发布系统
 

应用场景:

 传统方式

研发人员上传开发好的代码到github代码仓

需要将代码下载到nginx服务器部署
运维人员手动下载再部署或者使用脚本下载再部署
 

下载jenkins:

长期支持版本(LTS)
LTS(长期支持)版本每12周从常规版本流中选择,作为该时间段的稳定版本。

 .war包是可以直接放在tomcat服务器自动解压使用的,jenkins安装需要jdk

 重启之前可以看看jenkins服务状态,查看pid,如果变化了就代表插件导入成功

 3,可以在下面地址下载插件(插件为.hpi结尾的文件),然后上传到jenkins.(这种方法适合单个插件安装)

插件地址: http://updates.jenkins-ci.org/download/plugins

安装jenkins

安装完成之后浏览器访问jenkins服务器之后会提示如何获取密码

 

密码:

 修改密码:

 

jenkins插件导入方法

解压安装之后访问ip地址选择推荐安装的插件或者自己选择要安装的插件

安装失败也没啥事,可以继续用admin管理员账户登录

 

 instance实例  URL可以写内网的主机域名或者公网ip

可以选择下载的插件点击Advanced导入 jenkins服务器

 

git+github+jenkins

 创建github仓库

 在开发者电脑生成密钥对ssh-keygen(前提是必须安装了git)

复制公钥:cat /root/.ssh/id_rsa.pub

再把仓库克隆到本地

 增加项目代码

 git push -u origin master  上传到主分支

开发者push上传代码测试成功

准备nginx服务器

 nginx项目目录:/usr/share/nginx/html

 

jenkins私钥配置

 直接搜索插件名称

在avaliable可用的插件路面下载安装publish over ssh

 

 还可以在插件库里面直接下载之后点击advanced上传

 安装git插件,git plugin是老版本的git插件

 

在jenkins服务器上生成空密码密钥对

 这种方式只是做了一个标识

最方便的办法是直接在jenkins服务器ssh-keygen

 一定要复制私钥,因为是其他服务器免密登录jenkins服务器

在jenkin的系统设置里面找到publish over ssh 粘贴私钥

 添加远程连接服务器nginx

 

配置jenkins免密访问github

在jenkins服务器ssh-keygen生成密钥对,之后cat /root/.ssh/id_rsa.pub复制公钥

粘贴到github的ssh设置里面

jenkins还要配置凭据,配置凭据是为了区分不同的项目拥有的ssh免密权限

所以jenkins必须添加一个ssh凭据,还要添加私钥,免密访问github

 图中写错了,复制私钥给nginx服务器

 手动在jenkins服务器上可以git clone 项目 ,但是jenkins的目的是自动构建项目,所以必须添加一个自动构建项目的ssh免密凭据,才能自动构建github的项目

配置jenkins构建流程

 

 源码管理配置需要等一分钟

 

 在主页选择job工程然后选择立即构建,可以在workspace工作空间里面查看

 可以看到所有的项目源码都上传过来了,再点击工程编号选择控制台输出output

 在控制台输出可以看到整个工程的构建过程命令,构建过程其实就是往jenkins服务器克隆一个项目目录,然后再连接nginx,同步过去

 

 这是手动在jenkins网页上构建工程

jenkins集成部署流程图

自动发布系统

第一步:把开发者的公钥复制粘贴到gitlab

 第二步:在gitlab创建一个项目auto_build_web ,然后再git clone 克隆项目到本地 

第三步:安装jenkins对应的插件

点击系统管理里面的插件管理

 如果installed里面没有安装就要在avaliable可用的里面安装

还可以在官网下载,或者去清华源下载

主要就是gitlab和gitlab hook两个插件

第四步:添加Jenkins服务器公钥到gitlab

jenkins产生root用户的ssh密钥对(步骤省略)

可以git clone 克隆gitlab仓库测试一下jenkins连接gitlab免密

第五步:jenkins创建自动构建工程

之前jenkins创建的是自动构建仓库auto_build_web 

自动构建工程名称和仓库名称没有关系

General描述可以不用写,源码管理选择GIt

仓库url就是gitlab服务器的ip:root/仓库名称  凭据之前github配置过了 是一样的

build Trigger 创建触发器,当push发生改变的适合就触发jenkins克隆

 点击Advanced之后创建token

token是令牌,创建token保存之后要保持一致

 gitlab仓库发生push事件之后就会触发webhook去通知jenkins自动构建工程

 Build

 

echo $PATH查看一下环境变量是否有/usr/bin  如果有,shell脚本就不用加绝对路径了

 配置jenkins服务器上的jenkins用户

 修改usermod -s  shell权限位可以登录

shell脚本用的root用户其实是nginx的root用户,因为nginx服务器没有jenkins用户

只能把jenkins服务器的公钥复制给nginx服务器   ssh-copy-id -i root@nginx服务的ip

 修改/bin/bash是为了切换到jenkins用户

 回车两次之后查看ls  .ssh/  复制公钥到nginx服务器的root用户

 第六步:配置jenkins和gitlab自动对接

 点击gitlab的扳手图标,点击setting设置,点击network

 配置gitlab自动连接jenkins

先找到项目

 再找setting 选择intergrations

 ssl安全设置一定要取消勾选,然后点击add webhook 

 最后就是在测试环境测试一下nginx家目录的文件是否会被rsync覆盖

(如果项目名称不一样就不会覆盖)覆盖前提是两个一样的文件比较

测试成功之后可以用蓝绿、滚动、金丝雀部署生产环境,看情况选择

真实的IDE集成开发环境流程

pycharm简介


1、当你熟练掌握了python的ABC,掌握了内功心法,却一直找不到一件趁手的兵器,你说烦人不烦人,这个时候pycham是你的不二选择.
2、 pycharm是啥? PyCharm是Python lDE(集成开发环境),带有一整套可以帮助用户在使用Python语言开发时,提高其开发效率的工具,说白了,pycharm就是倚天剑,屠龙刀,给各位张无忌大佬门提供的写代码平台,有了这个平台,你可以轻松输入你的ABC,还能帮你自动补全口—些代码符号,还能理解你补充的含义,你就说良心不良心。
3、PythonCharm分为专业版(professional)和社区版(community),我们这边使用的是社区版(community)因为笔者是在是穷人

 

在windows上使用git,生成密钥对,把公钥复制到gitlab或者github 

 

回车两次

根据提示复制一下公钥

 把公钥粘贴到github或者gitlab

再复制gitlab的克隆url 粘贴到windows

 

 克隆位置一定在git安装的目录

然后用pycharm开发工具对接git

 

复制粘贴gitlab仓库的路径

 必须配置git安装目录下的bin/git.exe

 提交push事件

 最后可以自动构建项目到nginx服务器家目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值