精华内容
下载资源
问答
  • jenkins 运维
    2020-02-04 13:41:29

    作者:焦振清
    时间:2017-01-05


    1,/etc/sysconfig/jenkins

    • JVM性能优化:JENKINS_JAVA_OPTIONS=”-Djava.awt.headless=true -Xms10240m -Xmx10240m -XX:MaxNewSize=1024m -XX:MaxPermSize=1024m”

    2, systemctl enable jenkins.service

    • 开机自启动
    更多相关内容
  • Jenkins创建任务实现自动化运维部署

    1)登录Jenkins,创建第一个任务

     需要注意的是,如果前面没有按照我们的前置配置中讲到的安装了maven插件,这里是没有【构建一个maven项目】的选项的,详细安装配置可以看我们的第六篇内容

    点击确定之后进入如下详细配置界面:

     2)git相关配置

    填写我们gitlab上SSH方式的项目地址,然后Credentials模块点击【添加】,以用户和密码的方式创建访问凭证,这里的账号和密码是指可以从gitlab上更新下载代码的账号信息

    3)构建触发器,选中如下图红框圈中选项

     

    4)项目build配置

    clean install -Dmaven.test.skip=true

     5)项目打包后置步骤

    这一块主要涉及shell脚本的编写,详细脚本内容如下:

    #!/bin/bash
    source /etc/profile
    
    #服务名称
    SERVER_NAME=performance-test-platform-0.0.1-SNAPSHOT
     
    #源jar路径,mm打包完成之后,target目录下的jar包名称,也可选择成为war包,war包 可移动到Tomcat的。
    JAR_NAME=performance-test-platform-0.0.1-SNAPSHOT
     
    #target打包生成jar包的目录
    JAR_PATH=/var/lib/jenkins/workspace/performance-test-platform/target 
     
    #打包完成之后,把iar包移动到运行jar包的目录
    JAR_WORK_PATH=/home/performance-test-platform
    
    echo "查询进程id-->$SERVER_NAME"
    PID=`ps -ef | grep "$SERVER_NAME" | grep java | awk '{print $2}'`
    echo"得到进程ID: $PID"
    echo"结束进程"
    for id in $PID
    do
    kill -9 $id
    echo "killed $id" 
    done
    echo"结束进程完成"
     
    #删除原始旧的jar包
    cd $JAR_WORK_PATH
    rm -rf $JAR_NAME.jar
    echo "原始jar包删除成功"
    
    #复制jar包到执行目录
    echo" 复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
    cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
    echo"复 制jar包完成"
    
    cd $JAR_WORK_PATH
    #修改文件权限
    chmod -R 777 $JAR_NAME.jar
     
    #后台启动
    BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &
    

    最后点击保存,job创建完毕,下面进行测试

    6)idea中修改代码并提交到gitlab

     然后回到我们的jenkins,直接一键构建项目

    控制台查看构建信息日志打印

    日志显示构建成功

    访问项目:http://IP:Port/mainPlatform 

    项目可以成功访问,然后查看后台日志打印,是否按照代码输出了100次

    输出100次,自此Jenkins自动化运维部署 整个流程搭建成功

     

    展开全文
  • 文章目录一、Jenkins 概述1. Jenkins 介绍2. Jenkins 环境部署3. 安装 JDK 及配置环境变量二、Gitlab代码托管服务器安装1. Gitlab 简介2. Gitlab安装3. Gitlab 添加组、创建用户、创建项目三、源码上传到 Gitlab ...


    一、Jenkins 概述

    在这里插入图片描述

    1. Jenkins 介绍

    • Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。
      官网地址

    • Jenkins的特征
      ① 开源的 Java 语言开发持续集成工具,支持持续集成,持续部署;
      ② 易于安装部署配置:可通过yum安装或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理;
      ③ 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告;
      ④ 分布式构建:支持Jenkins能够让多台计算机一起构建/测试;
      ⑤ 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等;
      丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。

    2. Jenkins 环境部署

    在这里插入图片描述

    • 首先,开发人员每天进行代码提交,提交到Git仓库
    • 然后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK, Maven等软件完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都重新再执行一次整个流程。
    • 最后,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用。

    服务器列表

    名称IP地址安装的软件
    代码托管服务器192.168.8.20Gitlab-12.4.2
    持续集成服务器192.168.8.19Jenkins-2.190.3,JDK1.8,Maven3.6.2,Git, SonarQube
    应用测试服务器192.168.8.18JDK1.8,Tomcat8.5

    3. 安装 JDK 及配置环境变量

    百度网盘提取码:vcg1

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    等待安装
    在这里插入图片描述
    安装成功
    在这里插入图片描述

    配置环境变量

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    找到JDK的路径
    在这里插入图片描述

    C:\Program Files\Java\jdk1.8.0_152\bin
    

    在这里插入图片描述

    在这里插入图片描述


    二、Gitlab 仓库概述

    1. Gitlab 简介

    在这里插入图片描述

    官网

    GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。

    GitLab 和 GitHub 一样属于第三方基于 Git 开发的作品,免费且开源(基于MIT协议),与Github类似,可以注册用户,任意提交你的代码,添加 SSHKey 等等。不同的是,GitLab 是可以部署到自己的服务器 上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的智慧总放 在别人的服务器上吧?简单来说可把 GitLab 看作个人版的 GitHub。

    2. Gitlab安装

    • 更改三台服务器的主机名
    hostnamectl set-hostname gitlab && su
    hostnamectl set-hostname jenkins && su
    hostnamectl set-hostname tomcat && su
    

    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    • 安装相关依赖
    [root@gitlab ~]#yum install -y policycoreutils openssh-server openssh-clients.x86_64 postfix
    
    • 启动ssh服务并且设置开机启动
    [root@gitlab ~]#systemctl start sshd && systemctl enable sshd
    

    在这里插入图片描述

    • 设置postfix开机自启,并启动(postfix支持gitlab发信功能)
    [root@gitlab ~]#systemctl start postfix && systemctl enable postfix
    

    在这里插入图片描述

    • 开放 ssh 以及 http 服务,然后重新加载防火墙列表 (如果关闭了防火墙则不需要做以上配置)
    firewall-cmd --add-service=ssh --permanent 
    firewall-cmd --add-service=http --permanent 
    firewall-cmd --reload
    
    在线下载安装包:
    wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm
    
    安装:
    rpm -ivh gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm
    

    在这里插入图片描述

    • 修改 gitlab 配置

    修改 gitlab 访问地址和端口,默认为80,我们改为82 external_url 'http://192.168.8.20:82'

    [root@gitlab ~]#vim /etc/gitlab/gitlab.rb
    
     23 external_url 'http://192.168.8.20:82'			#访问地址设为本机IP地址
     1112 nginx['listen_port'] = 82						#监听端口改为82,前面的注释需要取消掉
    
    • 重新载入配置并且启动gitlab
    [root@gitlab ~]#gitlab-ctl reconfigure
    

    在这里插入图片描述

    • 重启
    [root@gitlab ~]#gitlab-ctl restart
    

    在这里插入图片描述

    • 把端口添加到防火墙
    firewall-cmd --zone=public --add-port=82/tcp --permanent 
    firewall-cmd --reload
    

    在这里插入图片描述

    • 启动成功后,看到以下修改管理员root密码的页面,修改密码后,然后登录即可

    在这里插入图片描述

    3. Gitlab 添加组、创建用户、创建项目

    • 创建组
      使用管理员 root 创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限, 不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的 管理

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    • 创建用户
      创建用户的时候,可以选择Regular或Admin类型

    在这里插入图片描述

    在这里插入图片描述

    • 创建完用户后,立即修改密码
      在这里插入图片描述

    在这里插入图片描述

    • 将用户添加到组中

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    Gitlab用户在组里面有5种不同权限:
    Guest:可以创建issue、发表评论,不能读写版本库
    Reporter:可以克隆代码,不能提交,QA、PM 可以赋予这个权限
    Developer:可以克隆代码、开发、提交、push,普通开发可以赋予这个权限
    Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心开发可以赋予这个权限
    Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组组长可以赋予这个权限

    在这里插入图片描述

    • 在用户组中创建项目
      以刚才创建的新用户身份登录到Gitlab,然后在用户组中创建新的项目

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    三、源码上传到 Gitlab 仓库

    我们要把源码上传到Gitlab的项目仓库中,在idea中Maven构建web项目,且进行环境设置

    1. 安装开发工具 IDEA

    官网地址:http://www.jetbrains.com/idea/download
    安装包自提: a3zs在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    2. 使用补丁包进行激活

    在这里插入图片描述
    在这里插入图片描述

    这个路径是你的安装路径位置

    -javaagent:D:\IntelliJ IDEA 2019.3.1\bin\jetbrains-agent.jar
    

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    3. 构建web项目

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    默认设置直接apply—>ok

    在这里插入图片描述

    四、安装 tomcat 服务器

    1. 安装软件包

    软件包:i0uq

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    2. 配置 IDEA 识别 tomcat

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    运行Tomcat,但是会失败

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    解决方法如下

    去tomcat的server.xml看一下(文件路径:C:\Program Files\Apache Software Foundation\Tomcat 8.5\conf),一般安装默认有个端口是-1,端口不能是-1,(数值在1-65535之间的任意一个整数,一般会选大于1024的,小于1024的一般被本地计算机程序占),改成8000就行。

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    我们建立了一个非常简单的web应用,只有一个index.jsp页面,如果部署好,可以访问该页面就成功了!

    3. 开启版本控制

    在这里插入图片描述

    在这里插入图片描述
    提示需要进行下载
    在这里插入图片描述

    4. 安装 git

    git 软件包下载: 3hid

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    退出重新打开一下
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    5. 先Add到缓存区

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    发现代码并没有提交到gitlab上面来,只是提交到了本地
    在这里插入图片描述

    6. 推送到Gitlab项目仓库中

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    刷新gitlab项目
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    提交成功
    在这里插入图片描述
    在这里插入图片描述

    五、Jenkins 安装与使用

    1. 安装 jdk

    • Jenkins需要依赖JDK,所以先安装JDK1.8 ,安装目录为:/usr/lib/jvm
    yum install java-1.8.0-openjdk* -y
    

    在这里插入图片描述

    2. 获取 jenkins 安装包

    提取码:hf7t

    下载页面:https://jenkins.io/zh/download/ 
    安装文件:jenkins-2.277.4-1.1.noarch.rpm
    
    • 把安装包上传到 192.168.8.19 服务器,进行安装
     rpm -ivh jenkins-2.277.4-1.1.noarch.rpm
    
    • 修改Jenkins配置
    vim /etc/sysconfig/jenkins
    修改内容如下:注意:如果用户使用默认,则需要在系统上创建jenkins用户
    JENKINS_USER="root" JENKINS_PORT="8888"
    

    在这里插入图片描述

    • 启动Jenkins
    systemctl start jenkins 
    

    在这里插入图片描述

    • 打开浏览器访问 http://192.168.8.19:8888

    3. 解锁 Jenkins

    注意:本服务器把防火墙关闭了,如果开启防火墙,需要在防火墙添加端口
    在这里插入图片描述

    • 获取并输入admin账户密码
    [root@jenkins ~]#cat /var/lib/jenkins/secrets/initialAdminPassword
    

    在这里插入图片描述

    • 跳过插件安装,因为Jenkins插件需要连接默认官网下载,速度非常慢,而且经过会失败,所以我们暂时先跳过插件安装

    在这里插入图片描述

    在这里插入图片描述

    • 添加一个管理员账户,并进入Jenkins后台

    在这里插入图片描述

    在这里插入图片描述

    4. Jenkins密码遗忘处理

    修改配置文件安全功能禁用

    vim /var/lib/jenkins/config.xml
    <useSecurity>false</useSecurity>   
    //重启jenkins服务
    systemctl restart jenkins
    可以直接登录修改账号密码
    
    修改jenkins中已有的用户名和ID
    vim /var/lib/jenkins/users/users.xml
    

    5. Jenkins 插件管理

    Jenkins 本身不提供很多功能,我们可以通过使用插件来满足我们的使用。例如从Gitlab拉取代码,使用Maven构建项目等功能需要依靠插件完成。

    • 修改 Jenkins 插件下载地址 ,Jenkins 国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址:
      Jenkins->Manage Jenkins->Manage Plugins,点击Available
      在这里插入图片描述
    cd /var/lib/jenkins/updates
    sed -i 's/http:\/\/updates.jenkins- ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
    
    • 最后,Manage Plugins 点击 Advanced,把Update Site改为国内插件下载地址https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

    在这里插入图片描述

    • Sumbit后,在浏览器输入: http://192.168.8.19:8888/restart ,重启Jenkins。
      在这里插入图片描述

    6. 下载中文汉化插件

    Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"Chinese"

    在这里插入图片描述

    完成后如下所示
    在这里插入图片描述

    重启Jenkins后,就看到Jenkins汉化了,但可能部分菜单汉化不成功
    在这里插入图片描述
    版本升级(Jenkins 下载的是var 包)
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    这里建议升级到2.333版本
    在这里插入图片描述

    升级完成
    在这里插入图片描述

    7. 用户权限管理

    我们可以利用 Role-based Authorization Strategy 插件来管理 Jenkins 用户权限

    在这里插入图片描述

    • 开启权限全局安全配置
      在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    • 创建角色

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    Global roles(全局角色):管理员等高级用户可以创建基于全局的角色
    Project roles(项目角色): 针对某个或者某些项目的角色
    Slave roles(奴隶角色) :节点相关的权限

    • 我们添加以下三个角色:
      baseRole:该角色为全局角色。这个角色需要绑定 Overall 下面的 Read 权限,是为了给所有用户绑 定最基本的 Jenkins 访问权限。
      注意:如果不给后续用户绑定这个角色,会报错误:用户名 is missing the Overall/Read permission
      role1:该角色为项目角色。使用正则表达式绑定apple.*,意思是只能操作apple开头的项目
      role2:该角色也为项目角色。绑定orange.*,意思是只能操作 orange 开头的项目

    在这里插入图片描述

    • 创建用户,在系统管理页面进入 Manage Users

    在这里插入图片描述
    分别创建两个用户:jack和kali
    在这里插入图片描述
    在这里插入图片描述

    • 给用户分配角色
      系统管理页面进入Manage and Assign Roles,点击Assign Roles
      绑定规则如下:
      kali用户分别绑定baseRole和role1角色
      jack用户分别绑定baseRole和role2角色

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    • 创建项目测试权限
      以 jerry 管理员账户创建两个项目,分别为apple01orange01

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    结果为:
    kali用户登录,只能看到 apple01 项目
    jack用户登录,只能看到 orange01 项目

    在这里插入图片描述
    在这里插入图片描述

    8. 凭证管理

    凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便 Jenkins 可以和这些第三方的应用进行交互。

    • 安装 Credentials Binding 插件

    在这里插入图片描述

    安装插件后,会多出来 “凭证” 菜单,在这里可以管理所有凭证

    在这里插入图片描述
    在这里插入图片描述
    可以添加的凭证有以下的5种:

    Username with password:用户名和密码
    SSH Username with private key: 使用SSH用户和密钥
    Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
    Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
    Certificate:通过上传证书文件的方式
    常用的凭证类型有:
    Username with password(用户密码)和 SSH Username with private key(SSH
    密钥)

    • 以使用 Git 工具到 Gitlab 拉取项目源码为例,演示 Jenkins 的如何管理 Gitlab 的凭证

    Git插件安装
    在这里插入图片描述
    Jenkins服务器安装 Git工具

    [root@jenkins ~]#yum install git -y  
    [root@jenkins ~]#git --version 
    git version 1.8.3.1
    

    8.1 用户密码类型

    添加凭证

    在这里插入图片描述
    选择"Username with password",输入Gitlab的用户名和密码,点击"确定"
    加粗样式
    在这里插入图片描述

    • 测试凭证是否可用

    创建一个 FreeStyle 项目
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    找到 “源码管理”-> “Git”,在Repository URL 复制 Gitlab 中的项目 URL

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    保存配置后,点击构建”Build Now“ 开始构建项目

    在这里插入图片描述

    在这里插入图片描述

    查看 /var/lib/jenkins/workspace/ 目录,发现已经从 Gitlab 成功拉取了代码到 Jenkins 中

    [root@jenkins ~]#cd /var/lib/jenkins/workspace/
    [root@jenkins /var/lib/jenkins/workspace]#ls
    test01  test01@tmp  test02  test02@tmp
    

    在这里插入图片描述

    8.2 SSH密钥类型

    在这里插入图片描述

    • 使用 root 用户生成公钥和私钥,在 /root/.ssh/目录保存了公钥和私钥
    [root@jenkins ~]#ssh-keygen -t rsa
    

    在这里插入图片描述
    在这里插入图片描述

    • 把生成的公钥放在 Gitlab 中
      以 root 账户登录 gitlab ->点击头像-> Settings -> SSH Keys 复制刚才 id_rsa.pub 文件的内容到这里,点击 “Add Key”

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    • 在 Jenkins 中添加凭证,配置私钥
      在 Jenkins 添加一个新的凭证,类型为 “SSH Username with private key”,把刚才生成私有文件内容复制过来

    在这里插入图片描述

    在这里插入图片描述

    • 测试凭证是否可用
      新建"test02"项目->源码管理->Git,这次要使用Gitlab的SSH连接,并且选择SSH凭证

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    使用密钥对的形式构成成功

    展开全文
  • 前面我们已经完成了 Gitlab 的搭建,当然,...接下来我们将要通过部署 Jenkins 来完成项目的 Gitlab 提交与自动部署。 这里同样的和 K8S 集群一样,我们换了一个性能较好的服务器,同样的需要配置 Docker 开发环境。

    运维 - 实践篇(六)- 基础 Jenkins 自动流程搭建

    前面我们已经完成了 Gitlab 的搭建,当然,这里有无法通过 SSH 拉取项目的问题缺陷。接下来我们将要通过部署 Jenkins 来完成项目的 Gitlab 提交与自动部署。

    这里同样的和 K8S 集群一样,我们换了一个性能较好的服务器,同样的需要配置 Docker 开发环境。

    修订时间修订内容备注
    2022/02/02完成基础 Jenkins 持续集成环境搭建create
    2022/02/05新增 Github webhook 自动构建feature

    一、搭建 Jenkins 基础环境

    这里我们主要讲述通过 Docker 搭建 Jenkins 的流程

    我预先选用了 jenkinsci/blueocean 镜像 参考文档

    1、检索 jenkins 镜像,并选取合适的版本

    # 检索
    $ docker search jenkins
    # 拉取
    $ docker pull jenkinsci/blueocean
    # 创建宿主机本地挂在文件
    $ mkdir /srv/jenkins
    $ chmod 777 /srv/jenkins
    # 运行
    $ docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /srv/jenkins:/var/jenkins_home jenkinsci/blueocean
    
    # host 网络模式
    docker run -d --name jenkins --network=host -p 8080:8080 -p 50000:50000 -v /srv/jenkins:/var/jenkins_home jenkinsci/blueocean
    
    # 运行 日志
    $ docker logs -f -t --tail 1000 jenkins
    
    Jenkins initial setup is required. An admin user has been created and a password generated.
    Please use the following password to proceed to installation:
    
    42: e9d78880ac9d4f3eb29218f13c3bc3f0
    124: e7cdce7d869f4e01ac6de5fc9e8fa804
    

    2、DashBoard 访问测试

    访问地址:http://42.192.222.62:8080/

    安装推荐的插件 -> 新手入门插件自动安装

    创建管理员用户

    Username:root

    password:code-fusheng

    image-20220203145657256

    实例 Jenkins URL 配置

    image-20220203145815840

    image-20220203145847929

    进入主页

    image-20220203145910382

    二、全局工具配置

    点击系统管理 -> 全局工具配置

    image-20220203145953922

    1、配置 JDK

    一般容器内安装了JDK环境,进入 docker 容器,使用 echo $JAVA_HOME 获取 jdk 安装路径。

    # 进入 docker 容器 
    $ docker exec -it jenkins /bin/bash
    # 查看 jdk 安装路径
    bash-5.1$ echo $JAVA_HOME
    /opt/java/openjdk
    

    image-20220203150312325

    2、配置 Maven

    指定 name,勾选自动安装,点击 save

    image-20220203150623574

    3、更新 Maven 配置

    image-20220203150729395

    image-20220203150837224

    点击 install without restart

    image-20220203150930646

    三、创建工程拉取项目

    这里因为各种原因导致 Gitlab SSH 方式的拉取方式无法通过,我们选用 HHTP 方式拉取项目。这个在 Jenkins 中也是允许的。

    PS:这里演示先用 Github 中的项目作为参考,我这个 model 项目是开源的。但是不建议部署这个,依赖非常多,要下载很久。

    1、创建任务

    点击新建任务或者 create a job

    image-20220205134355504

    输入任务名称(一般用工程名称),选择相应要构建的工程类型,这里我选择的是 Maven 项目。

    2、完善任务信息

    填写项目 Git 仓库地址

    image-20220205135357600

    3、编写工程前置预处理脚本

    这里我们选择的 maven 项目,对应的根配置就是 pom.xml

    # 编译打包命令
    $ clean package -Dmaven.test.skip=true -Pprod
    

    image-20220205135752851

    4、编写工程发布脚本

    image-20220205140119736

    Post Steps 脚本

    #!/bin/bash
    
    SERVER_NAME=model
    
    # 源 jar 路径,target 目录下的 jar 包
    JAR_NAME=model-2.0.0
    
    # target 打包生成 jar 包目录
    # 以具体的打包位置为准,可以先构建一次项目,通过日志查看打包的目录
    JAR_PATH=/var/jenkins_home/workspace/model/target
    
    # 打包完成之后,把 jar 包移动到运行 jar 包的目录
    JAR_WORK_PATH=/var/jenkins_home/workspace/model/target
    
    echo "查询进程id-->$SERVER_NAME"
    PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
    echo"得到进程ID: $PID"
    echo"结束进程"
    for id in $PID
    do
    kill -9 $id
    echo "killed $id" 
    done
    echo"结束进程完成"
    
    #复制jar包到执行目录_
    
    echo" 复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
    cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
    echo"复 制jar包完成"
    cd $JAR_WORK_PATH
    #修改文件权限
    chmod 755 $JAR_NAME.jar
    
    #前台启动
    #java -jar $JAR_NAME.jar
    
    #后台启动
    BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &
    

    5、开始构建

    image-20220205140528208

    查看控制台构建的日志

    由于是去 Github 仓库拉取项目,经常会出现超时的问题,可以多尝试几次

    image-20220205141756078

    6、测试

    访问工程开发接口,model 项目我开发了 doc.html 接口文档地址,如果能够正常访问说明服务成功启动了。

    model 工程 swagger 地址: http://42.192.222.62:9999/doc.html

    四、简单的 Github 提交自动Job构建

    1、Jenkins 配置 Github

    Hook URL: http://42.192.222.62:8080/github-webhook/

    image-20220205143225635

    2、Github 配置 webhook

    打开 Github 仓库页的 Setting 配置

    image-20220205143436416

    image-20220205144111188

    image-20220205144358843

    3、Jenkins 构建触发器

    image-20220205144257723

    4、测试

    本地项目 Push 代码,能够在 Jenkins 中看到自动构建的 Job 任务

    image-20220205144730384

    展开全文
  • 自动化运维Jenkins

    2020-07-31 22:12:45
    一、Jenkins介绍 1、Jenkins概述 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。 Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。 jenkins...
  • Jenkins发布平台 Gitlab CI ...... 除此之外还有需要开源软件,他们都有非常不错的发布管理功能。 面临的问题 作为运维人员,上线发布是必不可少的一环,一个正常的发布流程是怎么样的? 需求方提发布任务,走...
  • 1、适合新手自己安装jenkins学习使用。
  • Jenkins基础运维管理

    2020-02-02 23:30:24
    Jenkins是一个开源持续集成工具,可帮助开发人员对代码持续集成,完成自动化交付流水线。用途很广功能强大,外围的插件很多。在实施DevOps流水线的过程中,Jenkins是应用范围最广的工具。 在本场 Chat 中,会讲到...
  • 使用jenkins docker 生成镜像,并使用docker compose 编排运行
  • 这些关联的事务统称为“CI/CD管道”,由开发和运维团队协同支持。 随着DevOps的兴起,出现了持续集成(Continuous Integration)、持续交付(Continuous Delivery)、持续部署(Continuous Deployment)的新方法。....
  • 运维面试题库收集

    千次阅读 2021-12-20 17:14:52
    运维面试题库收集 mysql主从同步原理 主库: 打开binlog日志,每当有从库连接到主库的时候,主库都会创建一个线程然后发送binlog内容到从库。 对于每一个即将发送给从库的sql事件,binlog输出线程会将其锁住。一旦...
  • Jenkins常用命令

    2022-08-17 11:12:16
    Jenkins常用命令。
  • Jenkins需要依赖JDK,所以先安装JDK1.8 yum install java-1.8.0-openjdk* -y 安装目录为:/usr/lib/jvm 2. 获取jenkins安装包 下载页面:https://www.jenkins.io/zh/download/ 3. 安装jenkins rpm -ivh Jenkins.
  • 最近很多同学在面试过程中,偶尔会被问到是否会搭建环境,是否用过 Jenkins,有很多公司注重devOps(开发/测试/运营角色集合),甚至有专门的DevOps工程师,薪资还是杠杠的,所以我们今天专门讲讲环境搭建 Jenkins...
  • 运维工具ansible jenkins mesos三种工具讲解,部署、实验、测试、截图
  • jenkins自动化运维安装步骤,有需要的同学可以看一下,非常实用
  • Jenkins书籍推荐

    千次阅读 2021-01-18 11:06:36
    Jenkins 1.x 和Jenkins 2.x存在较大差异,建议先熟悉Jenkins 1.x 然后过渡到Jenkins 2.x 1. Jenkins权威指南 作者:Jobn Ferguson Smart Jenkins入门书籍,看完这本书就会对Jenkins整体有概的认识,体会到持续集成...
  • QQ 1285575001 Wechat M010527 技术交流 QQ群599020441 纪年科技aming #容器化部署——Docker#
  • Jenkins 简介: Jenkins是用java编写的开源的持续集成工具。 Jenkins能实时监控持续集成过程中所存在的问题,提供详细的日志文件和提醒功能,还可以用图表的形式,形象地展现项目构建的趋势和稳定性 特点: 易安装...
  • 3、搭建jenkins,略。 3、saltstack master 和minion环境搭建,略。 4、file_roots设置。 二、jenkins项目配置。 1、新建一个jenkins项目。 2、项目配置。 启用参数化构建过程。 配置svn代码地址 构建...
  • Jenkins手册 转载于:https://www.cnblogs.com/overarching/p/10028852.html
  • Jenkins是现在最流行的持续集成工具,可以帮助我们更方便更规范的发布项目。详细的介绍可以参考官网。 本文详细的介绍了Jenkins从安装到配置使用的详细流程,希望可以给大家带来一些帮助。 1. 环境准备 因为在该机器...
  • KVM,Zabbix企业级实战,自动化运维体系实战,Gitlab+Ansible+Jenkins运维实战,Nginx,Docker,Kubernetes,Openstack,ELK等云计算运维技术,企业级数据库Redis,MySQL主从复制备份等等,让同学们体验一站式Linux...
  • 2022年5月26日学员运维面试题目

    千次阅读 2021-12-26 16:04:56
    服务起不来,咋操作、判断、处理,镜像拉取不到怎么处理,镜像是怎么生成的 15.CICD,拉代码、生成镜像的流程是怎么样的 16.jenkins最多能有几个并发,有没有备份,如果崩了怎么办 17.jenkins是怎样一个配置的机器...
  • 基于Jenkins构建项目发布系统-学习记录
  • Linux运维-运维课程MP4频-05容器-85代码自动发布系统介绍-jenkins全局工具配置.mp4
  • Linux运维-运维课程MP4频-05容器-84代码自动发布系统介绍-jenkins-server添加插件.mp4
  • 背景:目前的发布流程一般都是通过进入jenkins手动去选择项目进行构建,效率上有点慢,并且在选择对应的tag的时候有可能会选择错误,基于这个现象自己在闲余时间搭建了一套自动化发布工单系统,主要是为了减轻手动...
  • Linux运维-运维课程MP4频-05容器-86代码自动发布系统介绍-jenkins系统配置-ssh配置.mp4

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,988
精华内容 8,395
关键字:

jenkins 运维