1.简介

  在工作中接触到CD/CI,Devops相关的技术,本文记录Jenkins的基本使用。Jenkins是一款开源的持续集成工具,能够集成一套自动化部署任务。

  目标

  1. 通过jenkins从github拉取代码(web应用)
  2. 通过jenkins进行maven编译打包
  3. jenkins发送打好的jar包,发送到另一台需要部署的虚拟机上(已安装docker)
  4. 通过dockerfile打新镜像
  5. 停掉已运行的容器,并启动新的容器

2.环境准备

  两台虚拟机 (实现利用Jenkins从github拉取代码,并通过maven打包,部署到另一台服务器的docker容器中)

    a.一台安装了docker (用于部署程序)

    b.一台安装了maven jdk8 git (用于安装jenkins,并拉取代码,编译打包)

二、安装、启动、配置Jenkins

1.下载Jenkins

  本文采用部署war包的方式安装Jenkins,首先下载jenkins war包。

  

$ wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

 

  官方链接:

  1.安装向导: https://jenkins.io/zh/doc/book/installing/#setup-wizard

  2.war包下载: http://mirrors.jenkins.io/war-stable/

 

2.启动Jenkins

  通过war包的方式启动Jenkins的方式很简单,直接使用java -jar命令就可以启动了,Jenkins默认端口是8080 如果需要指定端口可以修改启动参数

$ java -jar jenkins.war --httpPort=9090

   启动成功后会自动生成admin账号以及密码,第一次登录时需要用到

Jenkins初体验-安装与部署服务

 

 3.初次登录Jenkins

  访问部署Jenkins那台服务器的9090端口,输入初始密码

Jenkins初体验-安装与部署服务

 

  进入安装向导,选择【安装推荐插件】,当然也可以自定义需要安装的插件

Jenkins初体验-安装与部署服务

 

  推荐的安装的插件如下图,等待下载安装。

Jenkins初体验-安装与部署服务

  

  插件下载安装后,创建管理员账号

Jenkins初体验-安装与部署服务

 

  接下来配置Jenkins实例绝对地址(本文采用默认URL),这个值会和Jenkins参数BUILD_URL有关

 

Jenkins初体验-安装与部署服务

 

  保存后,开始使用Jenkins,使用刚配置的管理员账号登录即可

 

  补充安装插件:

  由于我们会将jenkins打好的包发送到另外一台服务器进行部署,因此需要再安装【Publish Over SSH】【Publish Over FTP】插件。

  使用admin账号登录jenkins,点击【系统管理】-【插件管理】-【可选插件】,搜索"publish over",选择【Publish Over SSH】【Publish Over FTP】插件,并直接安装。

  Jenkins初体验-安装与部署服务Jenkins初体验-安装与部署服务

 

 

 

 

Jenkins初体验-安装与部署服务

   配置ssh,点击【系统管理】-【系统设置】,新增,输入远程服务器ip,以及用户名和密码,并填写远程服务器的访问路径(这里是根目录) 点击test查看是否连接成功,成功后保存配置即可

  Jenkins初体验-安装与部署服务

 

  

 Jenkins初体验-安装与部署服务

 

 

 三、任务创建与执行

1.【方式1】创建自由风格的任务

  下面将创建一个基于上下游自由风格的任务,实现我们的目标

 Jenkins初体验-安装与部署服务Jenkins初体验-安装与部署服务

 

  创建好后,在配置界面,可以看到自由风格的任务包含下面几点内容

Jenkins初体验-安装与部署服务

 

  1.在【General】中,选择参数化构建过程,使用文本参数,定义参数为branch,即在构建任务前,可以传递的参数。

Jenkins初体验-安装与部署服务

Jenkins初体验-安装与部署服务

  

  2.【源码管理】选择git,输入仓库地址,并添加凭据,类型选择【Username with password】,用户名、密码分别填写github账号和密码。

 

Jenkins初体验-安装与部署服务

Jenkins初体验-安装与部署服务

 

 

   3.【构建】,添加两个构架步骤,1.执行shell,2.Send files or execute commands over SSH

  shell命令步骤用于使用maven打包

  Send files or execute commands over SSH 用户发送打好的包到部署服务器

Jenkins初体验-安装与部署服务

 

  这里补充说一下,jenkins自带了很多环境变量可以直接使用,例如工作目录 WORKSPACE等,访问jenkins这个路径可以查看 http://192.168.152.133:9090/env-vars.html/

 

  shell命令步骤:通过maven打包

cd eureka    # 进入项目工程
mvn clean package -Dmaven.test.skip=true    # maven 打包

   Jenkins初体验-安装与部署服务

 

   Send files or execute commands over SSH 步骤

  这个步骤会指定需要被发送的jar包,以及发送到远程服务器的指定路径,并构建一个新的镜像进行部署。

  补充:基础镜像Dockerfile(基础镜像安装openjdk 1.8),基础镜像可以安装配置一些软件、环境,之后需要部署的程序都可以FROM这个基础镜像

FROM centos:7

RUN yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
View Code 基础镜像Dockerfile

相关文章:

  • 2021-08-15
  • 2022-01-24
  • 2021-04-19
  • 2021-06-17
猜你喜欢
  • 2022-12-23
  • 2022-03-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-12
  • 2021-10-17
相关资源
相似解决方案