Jenkins

Posted on 2020-03-09 23:05  FLGB  阅读(329)  评论(0编辑  收藏  举报

1 Jenkins简介

Jenkins

开源

Java开发的   提到是Java开发的,一定联想云心Jenkins  jdk环境

持续集成工具,用于监控持续重复的工作

假设没有Jenkins的话会是怎样?

Git学习之旅》《Maven学习之旅》

平时去开发一个项目

每当修改了功能或者完善了某个功能之后,想要测试一下,就是手动去部署我们的项目。

接触过MavenBuildwar包的,手动build项目,以及手动部署项目

Low   手动的过程比较麻烦

发生了一些错误的信息,这时候你通常会去手动查看日志信息。

完善了某个功能,我们只需要进行一步手动操作,就有这样一个工具来帮我们自动去做那些事情,甚至还可以做更多的事情。

人类偷懒

有一个官网的介绍,学习一门新的技术,如果不去看官网。

 

2 Jenkins官网

https://jenkins.io/

 

 

 

 

 

 

 

 

 

3 Jenkins的下载与安装

 

 

 

Windows 平台中,直接双击安装的,比较方便

Jenkins.war   web项目    java -jar  命令去执行它/war包直接放到tomcatweb-app下面,启动tomcat

必须有java环境,而且这个版本一定要是jdk1.8

命令的方式去运行jenkins

java -jar jenkins.war --httpPort=8080    

 

 

 

.war扔到tomcat中的情况

 

 

 

 

 

 

4 登录和界面功能介绍

大家平时一般如果在Linux环境中进行安装的话,步骤也是类似

Java环境    

这里就是Jenkins帮你去新建一个对应的项目,这个项目就是关联你需要自动builddeploy

 

 

 

Git   Maven不知道的话,可以去腾讯课堂上搜索“咕泡学院”,Git学习之旅    Maven学习之旅

 

具体的内容在后面的视频中还会给大家讲解

 

5 Jenkins的工作流程

如何帮我们自动完成这些工作的呢?----Jenkins工作流程    

Jenkins中应该有一个类似于“上传”按钮的操作,如果我想要把代码上传到Jenkins中让它帮我来进行自动的builddeploy的操作。

代码    合作开发代码的话,这些代码在每个人的机器上可能是不一样的

代码-----github/码云/gitlab       github拥有的就是最新的代码

 

 

 

6 创建任务和功能介绍

 

 

 

7 拉取代码  

让该任务对应到某个远程上面的代码,github,码云,gitlab

git界面填写github项目的地址  

git@github.com:itcrazy2016/gupaogit.git

 

Failed to connect to repository : Command "git.exe ls-remote -h git@github.com:itcrazy2016/gupaogit.git HEAD" returned status code 128:
stdout: 
stderr: ssh: Could not resolve hostname github.com: Name or service not known 
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

 

 

 

8 莫慌之思路再梳理

这时候虽然也能跟得上,总觉得缺少了点什么,老师能不能再帮我好好梳理一下。

下载好了Jenkins之后,安装,访问8080端口,管理的账号,密码自己去Jenkins的安装目录寻找

默认会安装一些插件,gitmavengithub。如果没有安装成功,你可以进行插件的选择自定义安装。

想要通过git拉去github上面的代码,本地安装了git

git clone git@github.com:itcrazy2016/gupaogit.git:

使用Jenkins拉取代码,本地的git需要配置成功。

ssh  key   public key

 

 

 

拉取代码

 

 

 

没有拉取成功

(1)git的插件和git的全局管理工具是否已经配置【本地git环境有没有搭建成功】

(2)安全性的考虑,配置一个Credential 证书

 

 

 

没有报错

9 项目构建和发布()

(1)新建一个mavenweb工程

(2)代码Push到了github

(3)Jenkins对其进行集成发布

 

 

 

 

 

 

这里可以指定针对不同的分支进行集成发布操作

(1)Maven对其进行了build操作(pre-steppost-step

(2)项目进行一个发布tomcat容器

  1. 有一个tomcat容器    本机   远程机器    url   
  2. 有需要发布项目的war   maven----->xx.war    target---->xx.war
  3.  

     3把前面的拉取代码和maven构建操作先执行一下   jenkins

    10 项目构建和发布()

    gpjenkins放到了github

     

    Jenkins---->  

    (1) 代码从github上拉取下来

    (2) 项目进行build   maven

     

     

     

    (3) 需要把这样一个war发布到tomcat上去

    (4) 看图说话

 

 

 

 本地   127.0.0.1:8088    tomcat   但是出于安全性的一个考虑

进行认证   sshkey    

A. tomcat中进行账号的管理

<role rolename="manager-gui"/>

 <role rolename="manager-script"/>

<role rolename="manager-jmx"/>

 <role rolename="manager-status"/>

 <role rolename="admin-gui"/>

  <user username="gpjack" password="gpjack" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

B. 需要告诉jenkins你的一个tomcat的账号

 

持续交付与发布

(1)拉取代码

(2)Maven build

(3)Deploy 容器

需要手动在jenkins中点击立即构建的按钮

自动   

11 Webhook的配置

本地:gpjenkins

Githubgpjenkins

 

本地进行开发,add  commit  push------>

本地的代码push----github上面

Jenkins----->立即构建(手动)

自动

Push------>触发jenkins的立即构建的操作

也就是github上面一旦收到push代码的请求----->触发立即构建的操作

中间桥梁   

Jenkins项目中有一个地址http://localhost:8080/project/gpjenkins

能不能再github上的gpjenkins项目的某个位置,配置上这个url,一旦有push操作的时候,我就希望它能够对应之前jenkins上的url进行触发立即构建

外网和内网需要统一   

Test    

 

 

 

 

 

 

 

 

a. 把前面的拉取代码和maven构建操作先执行一下   jenkins

 

Copyright © 2024 FLGB
Powered by .NET 8.0 on Kubernetes