Deploy

Ansible 294 第三章笔记

a 夏天 提交于 2021-01-02 08:48:45
知识点1:编写和运行PLAYBOOK PLAYBOOK是以YAML格式编写的文本文件,扩展名.yml PLAYBOOK使用空格字符缩进来表示其数据结构,包含两个基本规则。 处于层次结构中同一级别的数据元素(例如同一列表中的项目)必须具有相同的缩进量。 如果项目属于其他项目的子项,其缩进量必须大于父项。 PLAYBOOK开头由三个破折号组成,这是开始的标记(---) 结尾用三个圆点标记,一般会省略(...) - name:***** #第一个键,简述该play用途 host:**** #第二个键,表示任务主机或组 tasks:**** #第三个键,PLAY运行的任务列表 提高输出的详细程度,共4级 [student@workstation deploy-review]$ ansible-playbook -v [student@workstation deploy-review]$ ansible-playbook -vv [student@workstation deploy-review]$ ansible-playbook -vvv [student@workstation deploy-review]$ ansible-playbook -vvvv 语法验证 [student@workstation deploy-review]$ ansible-playbook -

一键实现自动化部署(灰度发布)实践

▼魔方 西西 提交于 2020-12-30 11:36:15
在过去几年的DevOps的浪潮中,自动化、持续集成这两个概念早已深入人心(互联网技术人)。比尔盖茨先生曾经都说过:“任何技术在一个业务中使用的第一条规则就是,将自动化应用到一个高效的操作上将会放大高效。第二条就是自动化应用到一个低效操作上,则放大了低效率。” 自动化部署也逐渐成为各中小型企业追求的方向,那么,今天民工哥就自动化部署的概述、自动化部署的工具、自动化部署的流程、自动化部署实践等4个方面,与大家一同来讨论、交流一下关于中小企业自动部署的问题。 1、自动化部署概述 1.1 什么是自动化部署 一句简单的话概括:部署的过程中所有的操作全部自动化,无需人工手工干预。 1.2 自动部署的好处 传统的部署方式如下: 运维人员手工使用Scp、Xftp等方式来传输数据 手工登录服务器执行git pull 、svn update等命令进行更新代码的操作 开发人员手工编译打包,然后通过内网传输给运维人员 运维人员通过rz上传的方式上传到目标服务器,然后,执行重命名原包、拷贝新包到目标目录,再执行服务应用重启命令完成整个部署过程 看似非常简单,也不是很麻烦,但是一旦项目多,部署频繁,这种情况下就会大大降低工作效率。民工哥之前工作中就有这类体验,公司的活动类项目高达100+,很多都是需要快速上线及下线、或者更新的,手工部署真的累。 传统的部署方式有以下的缺点: 整个过程都需要人员参与

一键实现自动化部署(灰度发布)实践

走远了吗. 提交于 2020-12-30 10:30:16
在过去几年的DevOps的浪潮中,自动化、持续集成这两个概念早已深入人心(互联网技术人)。 比尔盖茨先生曾经都说过: “任何技术在一个业务中使用的第一条规则就是,将自动化应用到一个高效的操作上将会放大高效。第二条就是自动化应用到一个低效操作上,则放大了低效率。” 自动化部署也逐渐成为各中小型企业追求的方向,那么,今天民工哥就自动化部署的概述、自动化部署的工具、自动化部署的流程、自动化部署实践等4个方面,与大家一同来讨论、交流一下关于中小企业自动部署的问题。 1、自动化部署概述 1.1 什么是自动化部署 一句简单的话概括:部署的过程中所有的操作全部自动化,无需人工手工干预。 1.2 自动部署的好处 传统的部署方式如下: 运维人员手工使用Scp、Xftp等方式来传输数据 手工登录服务器执行git pull 、svn update等命令进行更新代码的操作 开发人员手工编译打包,然后通过内网传输给运维人员 运维人员通过rz上传的方式上传到目标服务器,然后,执行重命名原包、拷贝新包到目标目录,再执行服务应用重启命令完成整个部署过程 看似非常简单,也不是很麻烦,但是一旦项目多,部署频繁,这种情况下就会大大降低工作效率。民工哥之前工作中就有这类体验,公司的活动类项目高达100+,很多都是需要快速上线及下线、或者更新的,手工部署真的累。 传统的部署方式有以下的缺点: 整个过程都需要人员参与

Activiti工作流

℡╲_俬逩灬. 提交于 2020-12-29 09:23:47
1:工作流的概念 说明: 1) 假设:这两张图就是华谊兄弟的请假流程图 2) 图的组成部分: A. 人物:范冰冰 冯小刚王中军 B. 事件(动作):请假、批准、不批准 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流规则进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。 工作流管理联盟(WfMC,Workflow Management Coalition)给出的关于工作流管理系统的定义是:工作流管理系统是一个软件系统,它通过执行经过计算的流程定义去支持一批专门设定的业务流程。工作流管理系统被用来定义、管理、和执行工作流程。 工作流管理系统的目标:管理工作的流程以确保工作在正确的时间被期望的人员所执行——在自动化进行的业务过程中插入人工的执行和干预。 2:工作流的执行过程 演示程序:Activiti控制台 3:Activiti介绍

wildfly 21中应用程序的部署

橙三吉。 提交于 2020-12-28 02:51:47
简介 除了配置文件的修改之外,最重要的就是应用程序的部署了。本文将会讲解如何在wildfly 21中,在Managed Domain和standalone两种模式中如何部署应用程序。 Managed Domain中的部署 在managed domain模式下,服务是放在很多个server中启动的,而server是和server-group相关联的。同一个server-group下的server部署是一致的。 在managed domain模式下,需要先将要部署的应用程序上传到domain controller中,然后通过domain controller将其部署到一个或者多个server-group中。 当然我们在domain controller中的cli环境中只需要一个deploy命令就可以做到上面的两步了。 比如说,我们创建了一个应用程序叫做test-application.war,看下怎么进行部署: [domain[@localhost](https://my.oschina.net/u/570656):9990 /] deploy ~/Desktop/test-application.war Either --all-server-groups or --server-groups must be specified. [domain[@localhost](https:

解决ASP.NET Core部署到IIS,更新项目"另一个程序正在使用此文件,进程无法访问"...

≡放荡痞女 提交于 2020-12-24 13:41:57
问题 部署到IIS上的ASP.NET Core项目,在更新的时候会进程占用的错误 解决思路 初步解决方案: 1,关闭应用程序池 2,关闭网站 3,更新项目 缺点:网站没法访问,部署项目停的时间过长 答案 查询官方文档后,官方给出的方案: 如果应用正在运行,部署文件夹中的文件会被锁定。 在部署期间,无法覆盖已锁定的文件。 若要在部署中解除已锁定的文件,请使用以下方法之一 停止应用池: 使用 Web 部署并在项目文件中引用 Microsoft.NET.Sdk.Web。 系统会在 Web 应用目录的根目录中放置一个 app_offline.htm 文件 。 该文件存在时,ASP.NET Core 模块会在部署过程中正常关闭该应用并提供 app_offline.htm 文件 。 有关详细信息,请参阅 ASP.NET Core 模块配置参考。 在服务器上的 IIS 管理器中手动停止应用池。 使用 PowerShell 删除 app_offline.html (需要使用 PowerShell 5 或更高版本): PowerShell $pathToApp = 'PATH_TO_APP' # Stop the AppPool New-Item -Path $pathToApp app_offline.htm # Provide script commands here to deploy the

利用scrapy-client发布爬虫的远程服务器

南楼画角 提交于 2020-12-24 02:32:32
一.环境准备   远程服务器必须装有scapyd,我们使用的机器必须有scrapy-client(我这里是windows),并确保这两者正常安装并启动。 二.客户端准备上传   首先进入到爬虫项目的根文件夹: scrapyd-deploy     这样就是成功了。 三.配置爬虫项目    打开爬虫项目中的scrapy.cfg文件,这个文件就是给scrapyd-deploy使用的 将url这行代码解掉注释,并且给设置你的部署名称   再次执行scrapyd-deploy -l 启动服务,可以看到设置的名称 四.打包项目   1.开始打包前,执行命令:scrapy list,这个命令执行成功说明可以打包了,如果没执行成功说明还有工作没完成      这边会显示的是我的爬虫项目中具有的爬虫名称:jd   2.执行打包命令: scrapyd-deploy 部署名称 -p 项目名称     如下显示表示scrapy项目打包成功     如果出现     版本不对,建议安装pip install scrapyd==1.1.1,直到你的egg文件夹中有项目即可        3.上传运行爬虫 curl http://远程ip:6800/schedule.json -d project=项目名称 -d spider=爬虫名称   执行后,如果出现   则爬虫运行成功   可以去网页中106.12

k8s的Pod控制器

前提是你 提交于 2020-12-24 01:47:25
pod的配置清单常见选项: 1 apiVersion,kind,metadata,spec,status(只读) 2 spec: 3 containers: 4 nodeSelector: 5 nodeName: 6 restartPolicy: 7 Always,Never, OnFailure 8 containers: 9 name 10 image 11 imagePullPolicy: Always,Never,IfNotPresent 12 ports: 13 name: 14 containerPort 15 livenessProbe 16 readinessProbe 17 lifecycle 18 ExecAction: exec 19 TCPSocketAction: tcpSocket 20 HTTPGetAction:httpGet pod控制器: ReplicaSet:通常管理无状态pod,带用户创建指定数量的pod副本,并确保pod副本一直处于满足用户期望数量的状态。 多退少补,并且支持扩缩容 ReplicaSet:常用的3个组件;1,用户期望的副本数。2,标签选择器,以便选择自己管控的pod副本。3,pod资源模板,通过标签选择器选定的pod副本数少于用户所期望,则引用pod的资源模板来创建。 Deployment:Deployment--

ChainLink Received $32 Million in Financing

╄→гoц情女王★ 提交于 2020-12-19 04:02:46
Last month, the ChainLink ICO completed $32 million in financing. ChainLink (Link) provides middleware for the blockchain's "smart contracts" to call external data. Smart contracts, also known as self-executing contracts, are one of the promising application scenarios for blockchain technology. It allows companies and individuals to set up service level agreements with each other. For example, if an airline begins to offer a smart contract, the flight will be delayed by more than one hour on a certain day, and the airline will refund you 20% of the fare. Or, in the process of transporting the

Kubernetes(k8s)的deployment资源

六月ゝ 毕业季﹏ 提交于 2020-12-18 08:49:14
1、为什么K8s要引入deployment资源。 答:deployment也是保证pod高可用的一种方式,明明已经有RC(Replication Controller),为什么还要引入deployment呢?是因为deployment解决了RC(Replication Controller)的一个痛点。是因为RC在进行版本升级的时候,会造成一个问题,就是它的svc(Service)短时间内访问不了了,deployment就是解决这个问题的。 2、创建一个deployment的配置文件。 声明api的版本。 apiVersion: extensions/v1beta1 kind代表资源的类型,资源是Deployment。 kind: Deployment 资源叫什么名字,是在其属性metadata里面的。 metadata: 第一个属性name的值是myweb,即Service的名字就叫做myweb。 name: nginx-deployment spec是详细,详细里面定义了一个容器。 spec: 副本的数量,比RC少了一个selector。 replicas: 3 模板,都是使用模板来启动Pod的。 template: 资源叫什么名字,是在其属性metadata里面的。 metadata: # 给Pod贴上了一个标签,标签是app: nginx,标签是有一定的作用的。