美文网首页
2 Jenkins初体验

2 Jenkins初体验

作者: CodingForChange | 来源:发表于2021-01-20 21:39 被阅读0次

    Jenkins初体验

    0. 构建一个测试应用

    为了尝试这个DevOps过程,需要一个简要的程序用来部署和测试,这里使用SpringBoot简单构造了一个访问统计器,通过操作Redis数据库进行访问数的自增,并显示不同的用户名。

    userchange

    1. 搭建Jenkins

    主要参见: 《使用Jenkins一键打包部署SpringBoot应用,就是这么6!

    1.docker环境下的安装

    ## 下载
    docker pull jenkins/jenkins:lts
    ## 运行
    docker run -p 8080:8080 -p 50000:5000 --name jenkins \
    -u root \
    -v /mydata/jenkins_home:/var/jenkins_home \
    -d jenkins/jenkins:lts
    

    2. Jenkins配置

    • 之后访问8080进入,根据提示找到密码,并填入。

    • img
    • 之后安装推荐的插件

    img img
    • 安装完成之后,创建管理员账号,并进行实例配置
    img img
    • 之后在插件管理中安装以下插件:

      1. 根据角色管理权限的插件:Role-based Authorization Strategy

      2. 远程使用ssh的插件:SSH plugin

    • 然后通过全局工具配置,配置maven配置: img
    • 之后添加全局的ssh的配置,这样Jenkins使用ssh就可以执行远程的linux脚本了

      img

    3. 角色权限管理

    通过角色管理插件可以管理jenkins用户,比如可以给管理员赋予所有的权限,给运维人员赋予执行任务的相关权限,其他人员只能查看

    • 首先在全局安全配置中启用基于角色的权限管理
    img
    • 之后进入管理和分配角色的界面
    img

    进入后可分别管理角色和给用户分配角色。

    由于这里使用的是gitee,还可以安装gitee的插件,还有一个名为Ocean的插件也不错。

    2. 打包部署springboot应用

    1. 代码上传至仓库

    image-20210102232613850

    2. 进行脚本准备

    #!/usr/bin/env bash
    app_name='user-api'
    dockerhub='127.0.0.1:30204'
    docker stop ${app_name}
    echo '---stop container---'
    docker rm ${app_name}
    echo '---remove container---'
    # --link 将外部的redis-server,dns到容器内的redis
    docker run -p 30090:8080 --name ${app_name} \
            --link redis-server:redis \
            -v /etc/localtime:/etc/localtime \
            -v /mydata/app/${app_name}/logs:/var/logs \
            -d ${dockerhub}/${app_name}:1.0-SNAPSHOT
    echo '---start container----'
    
    

    给脚本添加可执行权限

    chmod +x ./test-user-api.sh
    

    可以先运行测试一下

    3. 在Jenkins中创建执行任务

    新建任务

    image-20210103002557660

    设置任务名称后,选择一个自由风格的软件项目

    image-20210103003634345

    之后再源码管理中配置如下

    image-20210103003734232

    此处的凭据直接可以填写账号密码

    构建中设置如下:

    image-20210103003851103

    之后添加一个脚本运行的构建,需要预先设置好ssh连接

    image-20210103004005996

    然后就可以保存,构建运行了。

    image-20210103030118214

    构建成功之后,也可以正常访问

    image-20210103030207214

    相关文章

      网友评论

          本文标题:2 Jenkins初体验

          本文链接:https://www.haomeiwen.com/subject/hclmoktx.html