Deploy

就绪探针(Readiness Probe)

早过忘川 提交于 2020-11-26 13:55:06
一个新Pod创建后,Service就能立即选择到它,并会把请求转发给Pod,那问题就来了,通常一个Pod启动是需要时间的,如果Pod还没准备好(可能需要时间来加载配置或数据,或者可能需要执行一个预热程序之类),这时把请求转给Pod的话,Pod也无法处理,造成请求失败。 Kubernetes解决这个问题的方法就是给Pod加一个业务就绪探针Readiness Probe,当检测到Pod就绪后才允许Service将请求转给Pod。 Readiness Probe同样是周期性的检测Pod,然后根据响应来判断Pod是否就绪,与存活探针(Liveness Probe)相同,就绪探针也支持如下三种类型。 Exec:Probe执行容器中的命令并检查命令退出的状态码,如果状态码为0则说明已经就绪。 HTTP GET:往容器的IP:Port发送HTTP GET请求,如果Probe收到2xx或3xx,说明已经就绪。 TCP Socket:尝试与容器建立TCP连接,如果能建立连接说明已经就绪。 Readiness Probe的工作原理 通过Endpoints就可以实现Readiness Probe的效果,当Pod还未就绪时,将Pod的IP:Port从Endpoints中删除,Pod就绪后再加入到Endpoints中,如下图所示。 图1 Readiness Probe的实现原理 Exec

scrapyd和scrapyd-client使用教程

一笑奈何 提交于 2020-11-26 07:26:59
原文地址:http://blog.wiseturtles.com/posts/scrapyd.html Tags scrapyd scrapy scrapyd-client By crazygit On 2015-10-29 scrapyd是一个用于部署和运行scrapy爬虫的程序,它允许你通过 JSON API来部署爬虫项目和控制爬虫运行 概览 项目和版本 scrapyd可以管理多个项目,并且每个项目允许有多个版本,但是只有最新的版本会被用来运行爬虫. 最方便的版本管理就是利用 VCS工具来记录你的爬虫代码,版本比较不是简单的通过字母排序,而是通过智能的算法,和 distutils 一样,例如: r10比r9更大. 工作原理 scrapyd是一个守护进程,监听爬虫的运行和请求,然后启动进程来执行它们 启动服务 # 注意,启动scrapyd的目录会保存整个scrapyd运行期间生成的log, item文件,所以请选择合适的位置运行该命令 $ scrapyd 调度爬虫运行 $ curl http://localhost:6800/schedule.json -d project =myproject -d spider =spider2 { "status": "ok", "jobid": "26d1b1a6d6f111e0be5c001e648c57f8" } web接口 http

一键发布部署vs插件[AntDeploy]开源了

一个人想着一个人 提交于 2020-11-25 05:57:59
deploy to remote server by one button click 功能 支持docker一键部署(支持netcore) 支持iis一键部署(支持netcore和framework)(支持增量发布)(支持一键回滚)(支持点火) 支持windows服务一键部署(支持netcore和framework)(支持增量发布)(支持一键回滚) 使用插件前 我要发布一个netcore的项目到阿里云的windows服务器的话我一般需要如下的步骤: 1. vs中发布网站到c:/temp/website 目录下 2. 远程桌面连接上远程服务器WIN2012或者以上版本 3. 在远程服务器上打开iis 4. IIS里点应用程序池,停掉对应网站的程序池 5. IIS里点网站,再停掉对应网站 6. 服务器上打开网站目录,把本地c:/temp/website中的除appsetting.json外的所有文件都上传到服务器上覆盖 7. IIS上再启动网站和对应的应用程序池 8. 本地浏览器上输入网址测试网址是否通了 在使用插件后 我只需要点一个按钮。。。 1.iis deploy support (support increment deploy and rollback) | iis一键发布自动部署 支持增量和回滚 support deploy netcore project and

jenkins流水线的pipeline语法的学习

百般思念 提交于 2020-11-21 09:30:08
流水线支持两种语法:声明式和脚本式流水线。两种语法都支持构建持续交付流水线。且均可用在web ui或者Jenkinsfile中定义流水线,通常认为创建一个Jenkinsfile并将其检入源代码控制仓库是最佳实践。 创建jenkinsfile jenkinsfile是一个文本文件,它包含了Jenkins流水线的定义并被检入源代码控制仓库。下面的流水线实现了基本的三阶段持续交付流水线。 jenkinsfile(declarative pipeline) pipeline{ agent any stages{ stage( 'Build' ){ steps{ echo 'building...' } } stage( 'Test' ){ steps{ echo 'Test...' } } stage( 'Deploy' ){ steps{ echo 'Deploy...' } } } } 其中aggent指令是必须的,带白哦jenkins为流水线分配一个执行器和工作区。没有agent指令,声明式流水线不仅不生效,且不能完成任何工作。 一个合法的声明式流水线还需要stages指令和steps指令,因为他们来指示jenkins要执行什么,在哪个阶段执行。 pipeline语法: post部分定义一个或多个steps,post支持以下post-condition块中的其中之一:always

【高可用架构】用Nginx实现负载均衡(三)

假装没事ソ 提交于 2020-11-21 06:20:18
前言 在上一篇,已经用Envoy工具统一发布了Deploy项目代码。本篇我们来看看如何用nginx实现负载均衡 负载均衡器IP 192.168.10.11 【高可用架构】系列链接: 待部署的架构介绍 演示 配置应用服务器 首先,需要将上一篇部署的两台应用服务器,都能够单独访问 配置192.168.10.12、192.168.10.18上nginx的config # vi /etc/nginx/config.d/dev.deploy.goods.conf server { listen 80; server_name dev.deploy.goods; index index.html index.htm index.php; location / { rewrite ^/(.*)$ /index.php/$1 last; try_files $uri $uri/ /index.php?$query_string; } location ~ (.+\.php)(.*)$ { root "/var/www/Deploy/public"; fastcgi_split_path_info ^(.+\.php)(.+)$; fastcgi_pass unix:/var/run/php-fpm/php7-fpm.sock; fastcgi_index index.php; include

【Activiti学习之二】Activiti API(一)

不想你离开。 提交于 2020-11-21 04:54:06
环境   JDK 1.8   MySQL 5.6   Tomcat 7   Eclipse-Luna   activiti 6.0 一、Activiti数据查询 准备数据: package com.wjy.act; import org.activiti.engine.IdentityService; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.identity.Group; public class SaveGroup { public static void main(String[] args) { ProcessEngine engine = ProcessEngines.getDefaultProcessEngine(); IdentityService is = engine.getIdentityService(); for ( int i = 0; i < 10; i++ ) { Group group = is.newGroup(String.valueOf(i)); group.setName( "Group_" + i); group.setType( "TYPE_" + i);

flowable流程资源部署方式

此生再无相见时 提交于 2020-11-15 07:59:46
一. 用flowable Modeler设计好流程图后,有多种资源部署方式 导出xml,然后部署到flowable数据库中 public Deployment deployFlow(String filePath) { try { DeploymentBuilder deploymentBuilder = repositoryService.createDeployment() .addClasspathResource(filePath); Deployment deployment = deploymentBuilder.deploy(); logger.info( "成功:部署工作流成:" + filePath); return deployment; } catch (Exception e) { logger.error( "失败:部署工作流:" + e); return null ; } } 多个流程模型定义文件,即xml打包成zip/bar,多个资源文件一起部署 InputStream in = this .getClass().getClassLoader().getResourceAsStream("diagrams/approve.zip" ); ZipInputStream zipInputStream = new ZipInputStream(in);

gitlab之gitlab-runner自动部署(二)

无人久伴 提交于 2020-11-13 06:28:17
转载自: https://blog.csdn.net/hxpjava1/article/details/78514999 简介 gitlab-ci全称是gitlab continuous integration的意思,也就是持续集成。中心思想是当每一次push到gitlab的时候,都会触发一次脚本执行,然后脚本的内容包括了测试,编译,部署等一系列自定义的内容。本文就是利用gitlab-ci的持续集成来实现自动部署。相比之前 webhook的自动部署 还是强大以及方便了许多。 原理 自动部署涉及了若干个角色,主要介绍如下 GitLab-CI 这个是一套配合GitLab使用的持续集成系统,是GitLab自带的,也就是你装GitLab的那台服务器上就带有的。无需多考虑。.gitlab-ci.yml的脚本解析就由它来负责。 GitLab-Runner 这个是脚本执行的承载者,.gitlab-ci.yml的script部分的运行就是由runner来负责的。GitLab-CI浏览过项目里的.gitlab-ci.yml文件之后,根据里面的规则,分配到各个Runner来运行相应的脚本script。这些脚本有的是测试项目用的,有的是部署用的。 GitLab-CI与GitLab-Runner关系示意图 .gitlab-ci.yml 这个是在git项目的根目录下的一个文件,记录了一系列的阶段和执行规则

支持零Ether归集ERC20的智能钱包JS开发包

两盒软妹~` 提交于 2020-11-10 21:19:00
SmartWallet.JS 开发包适用于平台方使用JavaScript高效完成对用户地址上的Ether/ERC20代币的归集工作,无需向用户地址注入Ether即可完成Ether/ERC20代币的归集。官方下载地址: SmartWallet.JS 1、开发包概述 SmartWallet.JS开发包的主要特点如下: 真正的平台型非托管钱包,平台无需管理大量用户地址的密钥并且没有安全性的损失 无需向用户地址注入Ether即可完成以太币/ERC20代币的归集,流程更简单,效率更高 支持在单一交易内完成多个用户地址的归集 SmartWallet.JS开发包的主要代码文件清单见官网说明: http://sc.hubwiz.com/codebag/smartwallet-js/ 2、使用示例代码 2.1 部署工厂合约 SmartWallet.JS开发包利用工厂合约 SmartWalletFacotry 管理用户地址的生成与归集。因此首先需要部署工厂合约。 进入项目目录,执行如下命令在本地测试节点部署工厂合约和用于演示的 HappyToken 合约: ~$ cd smartwallet ~/smartwallet$ npm run deploy-dev 运行结果如下: 类似的,使用如下命令在主网部署工厂合约: ~/smartwallet$ npm run deploy-mainnet 注意

TRON智能钱包PHP开发包【零TRX归集】

。_饼干妹妹 提交于 2020-11-06 15:01:31
TronSmartWallet 开发包适用于平台方高效完成对用户或订单地址上的Trx/TRC20代币的归集工作,无需向用户或订单地址注入Trx即可完成Trx/TRC20代币的归集。官方下载地址: TronSmartWallet PHP开发包 。 1、开发包概述 TronSmartWallet开发包的主要特点如下: 真正的平台型非托管钱包,平台无需管理大量用户地址的密钥并且没有安全性的损失 无需向用户地址注入Trx即可完成Trx/TRC20代币的归集,流程更简单,效率更高 支持在单一交易内完成多个用户地址的归集 TronSmartWallet运行于PHP 7.1+环境下,主要类以及其关系如下图所示: TronSmartWallet的主要代码文件清单见官网说明: http://sc.hubwiz.com/codebag/tron-smartwallet/ 。 2、使用示例代码 2.1 部署工厂合约 TronSmartWallet开发包利用工厂合约SmartWalletFacotry管理用户地址的生成与归集。因此首先需要部署工厂合约。 示例代码 demo/deploy-contracts.php 展示了如何部署SmartWalletFactory合约以及一个用于演示的TRC20代币合约。执行如下命令运行示例代码: php deploy-contracts.php 运行结果如下: