美文网首页
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