首页 > 其他 > 详细

Devops+Jenkins+flask部署

时间:2021-05-05 11:50:27      阅读:44      评论:0      收藏:0      [点我收藏+]

一、DevOps简介

DevOps(英文Development和Operations是一组过程、方法与系统的统称,DevOps是一组最佳实践强调(开发、运维、测试)在应用和服务生命周期中的协作和沟通,强调整个组织的合作,以及交付和基础设施变更的自动化,从而实现持续集成、持续部署和持续交付

1、什么是持续集成

持续集成是指开发人员在程序的开发过程中,可以频繁的将代码部署集成到主干,并进程自动化测试

  1. 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量
  2. 持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能
  3. 持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心

2、什么是持续交付

持续交付指的是在持续集成的环境基础之上,将代码部署到预生产环境。

3、什么是持续部署

在持续交付的基础上,把部署到生产环境的过程自动化,持续部署和持续交付的区别就是最终部署到生产环境是自动化的。

二、部署简介

一般网站部署的流程:

  • 需求分析
  • 原型设计
  • 开发代码
  • 内网部署
  • 提交测试
  • 确认上线
  • 备份数据
  • 外网更新
  • 最终测试

三、部署流程

jenkins工具平台可以实现全自动部署+测试,是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能,Jenkins非常易于安装和配置。

由于jenkins是使用java代码开发的,所以我们需要安装java容器才能运行jenkins。

1、安装java

sudo apt install openjdk-8-jdk

2、安装Jenkins

包含在默认Ubuntu软件包中的Jenkins版本往往落后于项目本身的最新版本。 为了利用最新的修复和功能,我们将使用项目维护的软件包来安装Jenkins。

首先,我们将存储库密钥添加到系统。

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list

当这两个都到位时,我们将运行update ,以便apt-get将使用新的存储库:

sudo apt-get update

最后,我们将安装Jenkins及其依赖项,包括Java:

sudo apt-get install jenkins

3、开始Jenkins

使用systemctl我们将启动Jenkins:

sudo systemctl start jenkins

由于systemctl不显示输出,我们将使用其status命令来验证它是否成功启动:

sudo systemctl status jenkins

如果一切顺利,输出的开始应显示服务处于活动状态,并配置为启动时启动:

● jenkins.service - LSB: Start Jenkins at boot time
  Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
  Active:active (exited) since Thu 2017-04-20 16:51:13 UTC; 2min 7s ago
    Docs: man:systemd-sysv-generator(8)

4、设置Jenkins

要设置我们的安装,我们将使用服务器域名或IP地址访问Jenkins的默认端口8080http:// ip_address_or_domain_name :8080

默认端口是8080,有时候由于端口占用需要修改如下:

  • 检查 /etc/init.d/jenkins 脚本,修改 do_start 函数的 check_tcp_port 命令,端口号从 8080 换成 8082:
  • 修改 /etc/default/jenkins 文件,将端口 8080 改成 8082
HTTP_PORT=8082
  • 重启Jenkins
sudo systemctl restart jenkins

我们应该看到“解锁Jenkins”屏幕,显示初始密码的位置

技术分享图片

在终端窗口中,我们将使用cat命令显示密码:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

我们将从终端复制32个字符的字母数字密码,并将其粘贴到“管理员密码”字段中,然后单击“继续”。 下一个屏幕提供安装建议的插件或选择特定插件的选项。

技术分享图片

我们将点击“安装建议的插件”选项,这将立即开始安装过程:

技术分享图片

安装完成后,系统将提示您设置第一个管理用户。 可以跳过此步骤,并使用上面使用的初始密码作为admin继续,但是我们将花一点时间创建用户。

技术分享图片

创建一个admin用户,密码自己定义

技术分享图片

一旦第一个管理员用户到位,你应该看到一个“Jenkins准备好了!” 确认屏幕。

技术分享图片

点击“开始使用Jenkins”来访问主要的Jenkins仪表板:

技术分享图片

查看

[ubuntu@ip-172-31-43-146 ~]$ sudo netstat -plntu|grep java
tcp6       0      0 :::8080                 :::*                    LISTEN      14788/java  

此时,Jenkins已经成功运行。

四、创建项目

默认python3以及python的代码包已经在服务器上下载好了。

我们访问已经部署好的jenkins项目

技术分享图片

1、新建item

选择freestyle project

技术分享图片

点击确认之后我们可以看到如下界面

技术分享图片

我们最需要关注的就是源码管理,以及环境的构建,暂且不管项目的配置。我们先看一下gitee或者github的配置。

2、gitee上的公私钥配置

源码管理方面我们是从gitee中拉取项目代码,如下图所示:

技术分享图片

所以我们需要将公钥放在gitee中。

访问我的gitee点击个人设置,查看ssh公钥。我是之前就添加进来的一个公钥。

技术分享图片

公私钥如何产生。我们要在我们搭建了jenkins的服务器上生成公私钥。

技术分享图片

技术分享图片

将公钥放在gitee上。

技术分享图片

3、jenkins的项目配置

回到jenkins的项目配置页面

源码管理中输入我们的源码ssh的url地址,如图所示

技术分享图片

添加凭证

技术分享图片

技术分享图片

然后发现我们的项目不红了

技术分享图片

但是要填写这两个内容(否则项目不会工作)

这两个内容,我们用如下方式获取

技术分享图片

技术分享图片

点击保存,返回面板,我们部署一下项目尝试。

技术分享图片

点击之后,我们查看工作空间,如下图,我们的项目部署成功。

技术分享图片

部署失败的话,可以查看左侧的日志栏。

4、启动项目

配置启动脚本。

技术分享图片

点击立即构建

访问页面。成功!

技术分享图片

5、配置任务触发时间表达式

继续配置当前的项目

Jenkins 定时任务触发时间表达式 ,H/2 * * * * (2分钟检查一下版本库 如果有更新就不触发 如果没有更新就不触发)

技术分享图片

6、修改项目代码

一旦修改项目,并push上去,jenkins就会每两分钟检查一次是否改变,如果改变就会触发构建!

技术分享图片

如图所示。

技术分享图片

Devops+Jenkins+flask部署

原文:https://www.cnblogs.com/xine/p/14730768.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!