jenkins的安装和配置(flask结合jenkins半自动化部署流程)

这篇具有很好参考价值的文章主要介绍了jenkins的安装和配置(flask结合jenkins半自动化部署流程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

jenkins在虚拟机中安装

1.1 背景介绍

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

Jenkins 特征

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

1.2 安装

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

普通虚拟机安装参考: https://www.jianshu.com/p/400b4516b98e

docker化安装参考: https://developer.aliyun.com/article/892646

1.3 使用

首先我们想实现的是flask一个后端服务的自动化部署, 我的后端服务是部署在docker上的, 所以要先知道docker的一些简单命令, 我这里就不细说了. 直接开用

flask 服务 app.py 代码如下

from flask import Flask, jsonify

app = Flask(__name__)


@app.route('/')
def hello_world():
  return 'Hello, World!'


@app.route('/health')
def health_checking():
  ret = {'status': 'UP'}
  return jsonify(ret)


@app.route('/hello')
def hello_chen():
  return 'Hello, chen!'


@app.route('/index')
def index():
  return 'Index!'

@app.route('/ckk')
def ckk():
  return 'Chenkeke'

DockerFile 文件如下, 意思就是用 gunicorn 启动flask 的 app 然后用5001端口进行访问

FROM python:3.8

RUN pip install --no-cache-dir -i http://mirrors.aliyun.com/pypi/simple/ \
--trusted-host mirrors.aliyun.com Flask gunicorn

ADD . /app

ENV GUNICORN_CMD_ARGS="--bind=0.0.0.0:5001 --chdir=./app/ --workers=4"

CMD ["gunicorn", "app:app"]

这两个文件配置好之后, 需要上传到gitlab上面, 如图

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

配置好服务器的ssh在gitlab上面, 这样可以直接通过ssh拉取(不过不配也没关系, 我是通过http拉的项目)

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

配完之后可以试试能不能在服务器上把项目拉取下来, 然后通过DockDile起个任务看看能不能成功运行这个项目, 直接进到拉取的文件下编译(注意是同一层)

docker build -t your_image_name .

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

成功之后会生成一个镜像, 然后执行镜像

docker run -d --name test -p 5001:5001 your_image_name

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

打开网页看看, 成功执行

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

关闭容器,且删除这个镜像, 不然后面的时候会报错

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

可以了的话就进行下一步配置Jenkins, Jenkins的端口安装好了之后默认是8080, 可以先观察一下界面熟悉一下. 没问题之后,我们点击新建一个工作流

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

  1. 配置gitlab的账号密码, 拉取代码的仓库

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

  1. 选择构建后操作,执行shell

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

执行shell的步骤, 可以自行百度意思

#!/bin/bash
echo "hello chen"
# 关闭docker项目
IMAGE_NAME="company_flask"
CONTAINER_NAME="my_container"
PORT_MAPPING="5001:5001"
WORKSPACE_PATH="/var/lib/jenkins/workspace/demo"
# 检查容器是否已经在运行中
if [ "$(docker ps -q -f name=$CONTAINER_NAME)" ]; then
    echo "Stopping existing $CONTAINER_NAME container..."
    docker stop $CONTAINER_NAME
fi

# 检查是否存在名为 $IMAGE_NAME 的 Docker 镜像
if docker images | awk '{print $1}' | grep -q "^$IMAGE_NAME$"; then
    # 如果存在,则删除该镜像
    echo "Deleting existing $IMAGE_NAME image..."
    docker rmi $IMAGE_NAME
fi

# 检查是否存在名为 $CONTAINER_NAME 的 Docker 容器
if docker ps -a | awk '{print $NF}' | grep -q "^$CONTAINER_NAME$"; then
    # 如果存在,则删除该容器
    echo "Deleting existing $CONTAINER_NAME container..."
    docker rm $CONTAINER_NAME
fi

# 进入工作目录并构建新的 Docker 镜像
cd $WORKSPACE_PATH
docker build -t $IMAGE_NAME .

# 启动新的 Docker 容器
echo "Starting new $CONTAINER_NAME container..."
docker run -d --name $CONTAINER_NAME -p $PORT_MAPPING $IMAGE_NAME

然后点击保存, 这时候就应该开始构建了, 查看构建的历史

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

查看控制台输出

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

成功。然后在本文编辑文件中新增一个接口并推送到远端git, 然后重新构建看一下。

上传code

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

看看git有没有上传成功

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

然后登录jenkins 重新构建镜像

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

查看构建历史

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

选择最近的一次构建

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

查看控制台输出,可以看到已经将最新的代码拉取下来了

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

看看能不能访问到接口

jenkins的安装和配置(flask结合jenkins半自动化部署流程)

也是成功的。现在已经可以使用自动部署了,但是是半自动部署的.因为还需要登录jenkins然后手动构建 目前还是不完善的.
因为jenkins是本地的 git用的是网上的gitlab 所以不能形成一个闭环. 所以下一次博客会将gitlab和jenkins都用docker部署起来.然后完成一个全自动的自动化部署.文章来源地址https://www.toymoban.com/news/detail-438799.html

到了这里,关于jenkins的安装和配置(flask结合jenkins半自动化部署流程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于vcs+uvm+xilinx ip的仿真平台的半自动化搭建

    系 统:ubuntu 18.04 仿真平台:vcs_2018.09-SP2 开发平台:vivado 2019.2 本文的主要目的是自动化搭建基于vcs+uvm+xilinx ip的仿真平台,节省平台搭建的时间与精力。 拿到一个项目,一般的平台搭建的步骤:去网上找一个makefile脚本(或者使用原项目脚本),修改相应的软件路径,添加

    2024年01月18日
    浏览(34)
  • 69、Spring Data JPA 的 @Query查询 和 命名查询(半自动:提供 SQL 或 JPQL 查询)

    1、方法名查询(全自动,既不需要提供sql语句,也不需要提供方法体) 2、@Query查询(半自动:提供 SQL 或 JPQL 查询) 3、自定义查询(全手动) @Query查询 和 命名查询的区别: 命名查询与直接用@Query来定义查询的本质是一样,只不过它们定义SQL或JPQL语句的位置不同。

    2024年02月07日
    浏览(29)
  • jenkins结合docker实现自动部署

    使用虚拟机搭建环境,centos7.8系统 主机 说明 必要软件 192.168.8.110 jenkins服务节点 jekins,jdk8,tomcat9 192.168.8.101 harbor服务,docker管理镜像 harbor 192.168.8.111 jenkins工作节点 maven,jdk8,git,docker rpm方式安装 war方式安装 jenkins官方下载地址 选择合适的版本,注意各个版本依赖的jdk版本,如

    2024年02月06日
    浏览(25)
  • Jenkins结合gitee自动化部署SpringBoot项目

    安装教程 Gitee Plugin 源码管理 填写源码地址 注意: 请确保genkins所在的服务器有权限git拉取远程仓库代码,如果不可以请参考ssh配置 centos 配置ssh拉取远程git代码 源码管理 构建触发器 1.勾选Gitee webhook 触发构建 2.生成webhook密码 构建触发器   3.在gitee项目管理中配置webhook git

    2024年02月08日
    浏览(361)
  • 【运维篇】基于docker,jenkins结合gitlab做自动部署

    我的环境是windows系统,使用Docker Desktop制作了gitlab容器和jenkins容器,也可以在虚拟机上使用docker。 gitlab有镜像我们直接使用即可,jenkins镜像有一些环境没有,我们在它的基础上添加一些环境。 需要准备的文件比较多,我百度网盘共享一下。 链接:https://pan.baidu.com/s/1K7FD-ngQ

    2024年01月16日
    浏览(44)
  • 【运维知识高级篇】超详细的Jenkins教程1(安装部署+配置插件+创建自由风格项目+配合gitlab实现Jenkins自动触发)

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成的工具,用于监控持续重复的工作, 旨在提供一个开放易用的平台,使软件的持续集成变成可能,是持续集成的核心,可以与其他软件进行协作,例如,gitlab推送给测试环境代码,可以通过Jenkins省略步骤,实现自动

    2024年02月05日
    浏览(42)
  • Jenkins自动化部署简单配置

    下载安装jenkins 安装Jenkins步骤 点击Next的时候会有jdk版本跟Jenkins版本不符合的情况 1. 看下任务管理器内Jenkins服务是否启动,在浏览器里面输入localhost:2023(端口号是安装时输入的) 2. 根据路径找到放置密码的文件(C:ProgramDataJenkins.jenkinssecretsinitialAdminPassword) 3. 自定义j

    2024年02月06日
    浏览(32)
  • Jenkins自动化部署-Jenkins的安装

    首先我们需要安装docker  安装 yum-utils包 yum install -y yum-utils            device-mapper-persistent-data            lvm2 --skip-broken    设置镜像地址 yum-config-manager     --add-repo     https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo      sed -i \\\'s/download.docker.com/mirrors.aliyun.com/do

    2024年02月10日
    浏览(29)
  • 【Jenkins+Gitlab自动化部署配置】

    以下为整理当初参照的博客 阿里云云服务器 ECS 手动搭建GitLab避坑教程 博客文中的镜像源地址已换 Gitlab忘记root用户密码的解决办法 Gitlab学习笔记(一):基于Ubuntu的gitlab的私有服务搭建(超详细) Jenkins 构建报错:Couldn‘t find any revision to build. Verify the repository and branch conf

    2024年02月21日
    浏览(38)
  • Jenkins入门(二)Jenkins安装及自动构建部署

    1. 机器要求: 256 MB 内存,建议大于 512 MB 10 GB 的硬盘空间(用于 Jenkins 和 Docker 镜像) 需要安装以下软件: Java 8 ( JRE 或者 JDK 都可以) 2. 安装JDK 检索可用包 安装JRE 安装JDK 3.将 jenkins.war 放到服务器中 jenkins.war下载地址(注意版本,我这里用的是):Jenkins 的安装和设置  执

    2024年02月03日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包