• 持续集成环境Jenkins+git+maven+tomcat安装(20200915)


    1)安装JDK

    Jenkins需要依赖JDK,所以先安装JDK1.8

    yum install java-1.8.0-openjdk* -y

    安装目录为:/usr/lib/jvm

    2)获取jenkins安装包

    下载页面:https://jenkins.io/zh/download/

    安装文件:jenkins-2.190.3-1.1.noarch.rpm

    3)把安装包上传到192.168.66.101服务器,进行安装

    rpm -ivh jenkins-2.190.3-1.1.noarch.rpm

    4)修改Jenkins配置

    vi /etc/syscofifig/jenkins

    修改内容如下:

    JENKINS_USER="root"

    JENKINS_PORT="8888"

    5)启动Jenkins

    systemctl start jenkins</DI< div>

    6)打开浏览器访问

    http://192.168.66.101:8888</DI< div>

    注意:本服务器把防火墙关闭了,如果开启防火墙,需要在防火墙添加端口

    7)获取并输入admin账户密码

    cat /var/lib/jenkins/secrets/initialAdminPassword

    8)跳过插件安装

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

    装</DI< div>

    image

    image


    9)添加一个管理员账户,并进入Jenkins后台</DI< div>

    image

    开始使用Jenkins</DI< div>

    image

    image

    持续集成环境(2)-Jenkins插件管理

    Jenkins本身不提供很多功能,我们可以通过使用插件来满足我们的使用。例如从Gitlab拉取代码,使用

    Maven构建项目等功能需要依靠插件完成。接下来演示如何下载插件。</DI< div>

    修改Jenkins插件下载地址

    Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址:

    Jenkins->Manage Jenkins->Manage Plugins,点击Available </DI< div>

    image

    这样做是为了把Jenkins官方的插件列表下载到本地,接着修改地址文件,替换为国内插件地址 </DI< div>

    image

    image

    最后,Manage Plugins点击Advanced,把Update Site改为国内插件下载地址</DI< div>

    https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</DI< div>

    image

    Sumbit后,在浏览器输入: http://192.168.66.101:8888/restart ,重启Jenkins。 </DI< div>

    下载中文汉化插件</DI< div>

    Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"Chinese" </DI< div>

    image

    持续集成环境(3)-Jenkins用户权限管理

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

    安装Role-based Authorization Strategy插件 </DI< div>

    image

    开启权限全局安全配置 </DI< div>

    image

    授权策略切换为"Role-Based Strategy",保存</DI< div>

    image

    创建角色

    在系统管理页面进入 Manage and Assign Roles</DI< div>

    image

    点击"Manage Roles"</DI< div>

    image

    Global roles(全局角色):管理员等高级用户可以创建基于全局的角色 Project roles(项目角色):

    针对某个或者某些项目的角色 Slave roles(奴隶角色):节点相关的权限 </DI< div>

    我们添加以下三个角色:

    baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑

    定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,会报错误:用户名 is

    missing the Overall/Read permission

    role1:该角色为项目角色。使用正则表达式绑定"itcast.*",意思是只能操作itcast开头的项目。

    role2:该角色也为项目角色。绑定"itheima.*",意思是只能操作itheima开头的项目。 </DI< div>

    image

    保存。</DI< div>

    创建用户

    在系统管理页面进入 Manage Users</DI< div>

    image

    分别创建两个用户:jack和eric</DI< div>

    image

    给用户分配角色

    系统管理页面进入Manage and Assign Roles,点击Assign Roles

    绑定规则如下:

    eric用户分别绑定baseRole和role1角色

    jack用户分别绑定baseRole和role2角色</DI< div>

    image

    保存。 </DI< div>

    创建项目测试权限

    以itcast管理员账户创建两个项目,分别为itcast01和itheima01 </DI< div>

    结果为:

    eric用户登录,只能看到itcast01项目

    jack用户登录,只能看到itheima01项目 </DI< div>

    持续集成环境(4)-Jenkins凭证管理

    凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便

    Jenkins可以和这些第三方的应用进行交互。</DI< div>

    安装Credentials Binding插件

    要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件</DI< div>

    image

    安装插件后,左边多了"凭证"菜单,在这里管理所有凭证</DI< div>

    image


    可以添加的凭证有5种:</DI< div>

    image


    常用的凭证类型有:Username with password(用户密码)和SSH Username with private key(SSH

    密钥) </DI< div>

    接下来以使用Git工具到Gitlab拉取项目源码为例,演示Jenkins的如何管理Gitlab的凭证。 </DI< div>

    安装Git插件和Git工具

    为了让Jenkins支持从Gitlab拉取源码,需要安装Git插件以及在CentOS7上安装Git工具。</DI< div>

    image

    CentOS7上安装Git工具:

    yum install git -y 安装

    git --version 安装后查看版本 </DI< div>

    用户密码类型

    1)创建凭证

    Jenkins->凭证->系统->全局凭证->添加凭证</DI< div>

    image

    image

    选择"Username with password",输入Gitlab的用户名和密码,点击"确定"。 </DI< div>

    image

    2)测试凭证是否可用

    创建一个FreeStyle项目:新建Item->FreeStyle Project->确定 </DI< div>

    image

    找到"源码管理"->"Git",在Repository URL复制Gitlab中的项目URL</DI< div>

    image

    这时会报错说无法连接仓库!在Credentials选择刚刚添加的凭证就不报错啦 </DI< div>

    image

    保存配置后,点击构建”Build Now“ 开始构建项目</DI< div>


    image

    image

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

    image

    SSH密钥类型

    SSH免密登录示意图 </DI< div>

    image

    1)使用root用户生成公钥和私钥

    ssh-keygen -t rsa

    在/root/.ssh/目录保存了公钥和使用 </DI< div>

    image

    id_rsa:私钥文件

    id_rsa.pub:公钥文件</DI< div>

    2)把生成的公钥放在Gitlab中

    以root账户登录->点击头像->Settings->SSH Keys

    复制刚才id_rsa.pub文件的内容到这里,点击"Add Key" </DI< div>

    image


    3)在Jenkins中添加凭证,配置私钥

    在Jenkins添加一个新的凭证,类型为"SSH Username with private key",把刚才生成私有文件内容复

    制过来 </DI< div>

    image

    image

    4)测试凭证是否可用

    新建"test02"项目->源码管理->Git,这次要使用Gitlab的SSH连接,并且选择SSH凭证</DI< div>

    image

    image

    同样尝试构建项目,如果代码可以正常拉取,代表凭证配置成功!</DI< div>

    持续集成环境(5)-Maven安装和配置 </DI< div>

    在Jenkins集成服务器上,我们需要安装Maven来编译和打包项目。

    安装Maven

    先上传Maven软件到192.168.66.101

    tar -xzf apache-maven-3.6.2-bin.tar.gz 解压

    mkdir -p /opt/maven 创建目录

    mv apache-maven-3.6.2/* /opt/maven 移动文件

    配置环境变量

    vi /etc/profifile

    source /etc/profifile 配置生效

    mvn -v 查找Maven版本

    全局工具配置关联JDK和Maven

    Jenkins->Global Tool Confifiguration->JDK->新增JDK,配置如下:</DI< div>

    image

    添加Jenkins全局变量

    Manage Jenkins->Confifigure System->Global Properties ,添加三个全局变量

    JAVA_HOME、M2_HOME、PATH+EXTRA</DI< div>

    image


    修改Maven的settings.xml

    mkdir /root/repo 创建本地仓库目录

    vi /opt/maven/conf/settings.xml </DI< div>

    本地仓库改为:/root/repo/

    添加阿里云私服地址:

    alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central</DI< div>


    测试Maven是否配置成功

    使用之前的gitlab密码测试项目,修改配置</DI< div>

    image

    构建->增加构建步骤->Execute Shell</DI< div>

    image

    输入

    mvn clean package </DI< div>

    image


    再次构建,如果可以把项目打成war包,代表maven环境配置成功啦!</DI< div>

    image


    持续集成环境(6)-Tomcat安装和配置

    安装Tomcat8.5 </DI< div>

    把Tomcat压缩包上传到192.168.66.102服务器

    yum install java-1.8.0-openjdk* -y 安装JDK(已完成)

    tar -xzf apache-tomcat-8.5.47.tar.gz 解压

    mkdir -p /opt/tomcat 创建目录</DI< div>

    mv /root/apache-tomcat-8.5.47/* /opt/tomcat 移动文件

    /opt/tomcat/bin/startup.sh 启动tomcat

    注意:服务器已经关闭了防火墙,所以可以直接访问Tomcat啦

    地址为:http://192.168.66.102/8080</DI< div>

    image

    配置Tomcat用户角色权限

    默认情况下Tomcat是没有配置用户角色权限的</DI< div>

    image


    image

    但是,后续Jenkins部署项目到Tomcat服务器,需要用到Tomcat的用户,所以修改tomcat以下配置,

    添加用户及权限</DI< div>

    vi /opt/tomcat/conf/tomcat-users.xml </DI< div>

    内容如下:

    <tomcat-users>

    <role rolename="tomcat"/>

    <role rolename="role1"/>

    <role rolename="manager-script"/>

    <role rolename="manager-gui"/>

    <role rolename="manager-status"/>

    <role rolename="admin-gui"/>

    <role rolename="admin-script"/>

    <user username="tomcat" password="tomcat" roles="manager-gui,manager-

    script,tomcat,admin-gui,admin-script"/>

    </tomcat-users>

    用户和密码都是:tomcat

    注意:为了能够刚才配置的用户登录到Tomcat,还需要修改以下配置

    vi /opt/tomcat/webapps/manager/META-INF/context.xml

    <!--

    <Valve className="org.apache.catalina.valves.RemoteAddrValve"

    allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" />

    --></DI< div>

    把上面这行注释掉即可!

    重启Tomcat,访问测试

    /opt/tomcat/bin/shutdown.sh 停止

    /opt/tomcat/bin/startup.sh 启动

    访问: http://192.168.66.102:8080/manager/html ,输入tomcat和tomcat,看到以下页面代表成功

    image

  • 相关阅读:
    poj 1743 Musical Theme 后缀数组
    poj 1743 Musical Theme 后缀数组
    cf 432D Prefixes and Suffixes kmp
    cf 432D Prefixes and Suffixes kmp
    hdu Data Structure? 线段树
    关于position和anchorPoint之间的关系
    ios POST 信息
    CALayers的代码示例
    CALayers详解
    ios中得sqlite使用基础
  • 原文地址:https://www.cnblogs.com/pengrj/p/13671765.html
Copyright © 2020-2023  润新知