Travis 自动构建 Travis Ci 的自动构建周期分为两步: install Script 但是我们可以根据这两步将相关的内容分成更细的步骤: before_install install befor_script...after_success 或者 after_failure before_deploy deploy after_deploy after_script 所以我们可以这样认为,持续集成就是把一系列的手工操作合并成一个脚本的过程...我们可以这样实现我们的博客部署脚本 sudo: false language: go os: osx install: brew install hugo script: - hugo --config...after_success: - git add -A - git commit -m "update blog" - git push -u origin master 这个脚本中...Travis GitHub Pages 经过查阅之后,发现 Travis Ci 本身就支持直接部署到 GitHub Pages 上,并拥有单独的章节。
Travis CI Travis CI 是一个持续集成的平台,我们可以使用其自动构建部署的功能帮我们简化 Hexo 博客的部署流程。 为什么要用 Travis CI 因为懒。...那么在我们的需求下,就可以用它运行一些 hexo deploy -g 之类的命令用来自动生成、部署我们的网站。...使用方法 使用 Travis 构建 Hexo 只需要三步: 登录 Travis,配置仓库 在 Travis CI 配置 GitHub 的 Access Token Blog 根目录下配置 .travis.yml...主页面,发现部署已经开始了 在下面的 log 中可以看到部署的详细情况。...总结 有了自动部署的功能,从此以后就可以将关注点集中在博客内容上,换了平台和环境也没有任何影响。
关于 Travis CI 这是一个通过脚本来进行自动部署的系统,本身与 Github 高度集成,目前对于公开的项目免费支持。...gem install travis 生成脚本 切换到 blog 的目录下,执行下面的命令,记得输入 node 语言 $ travis init detected repository as DrayChou...enabled 设置脚本 编辑这个 .travis.yml ,按需添加对应的项。 env.global.secure 是发布的时候生成的数据,请无视。...开始执行 Push 到 Github 之后, Github 就会通过之前定义的 hook 去调用 travis ,然后 travis 就会在后台开始按照脚本执行,可以在 travis-ci 后台通过查看日志观察发布有没有问题...参考 使用 Travis CI 自動部署 GitHub Pages 使用travis-ci自动部署hexo博客 hexo 指令
Travis CI - Test and Deploy Your Code with Confidence travis-ci.org Intro 正如字面上的意思,Travis 可以用来测试和帮助自己部署网站...一般自己闲来会写些并无卵用的小玩意儿,纯静态的页面话,便会部署在 GitHub Pages 上。 而动态网站则部署在自己的服务器上,又或是如下有一些可以部署测试的动态服务。...stricthostkeychecking=no root@139.199.22.90 "sh /data/wwwroot/coc.yunyoujun.cn/deploy-ci.sh $TOKEN" 加密 Token 使用 Travis...travis encrypt -r YunYouJun/repo GH_TOKEN=XXX Token GitHub Pages git push --force "https://${GH_TOKEN
第一次使用 VuePress 去部署 Github page,折腾的时间比较长,总结一下坑点。...我的场景: 采用https://.github.io/的形式 自定义二级域名 Travis CI 自动部署 访问地址:https://snippet.noxxxx.com
前段时间研究了一下自动部署的方案,先是用node写了一个简单粗暴的脚本,但发现这样并不够优雅,于是看了下Jenkins,发现搭建成本略高(实际Jenkins很香),由于我是基于自己的项目来考虑方案,最后决定使用...Travis作为方案。...Travis 想要使用Travis,首先你得有一个GitHub账号,然后登录Travis官网。选择GitHub账号登录,如图: 之后导入你的仓库,让Travis监听即可。...回到你的项目里新建.travis.yml文件,被Travis监听的仓库,每当push时(默认监听master分支),会执行yml里对应的脚本。...,在项目master分支中push,Travis会监听到对应变化,并查询.travis.yml文件执行脚本,成功或失败你的git commit 里对应的提交记录会有对应的状态如图: 你也可以在Travis
travis-ci是什么?...一个使用yaml格式配置用于持续集成完成自动化测试部署的开源项目 官网:https://travis-ci.org/ 使用travis-ci集成vue.js项目 首先,您需要一个github账号...6. .travis.yml 文件的简单配置 .travis.yml文件的作用就是在代码提交的时候travis-ci会根据该配置文件执行配置的任务 在项目根目录中创建(或修改).travis.yml...-quiet "https://${GH_TOKEN}@${GH_REF}" master:${P_BRANCH} # E: Build LifeCycle #指定分支,只有指定的分支提交时才会运行脚本...在设置中可以看到默认已经将gh-pages分支部署到pages,访问https://用户名.github.io/metools/即可预览效果。 ?
即下图所示位置: image.png 申请Travis CI 在https://travis-ci.org/,用github帐号登录,找到你的博客仓库,开启Travis CI服务,如下图: image.png...建立文件 将一开始得到的id_rsa文件复制到Dev repo下,并建立.travis.yml文件,内容暂时为空即可 加密私钥并上传至 Travis CI. $ travis encrypt-file...CI 的脚本文件 .travis.yml 下面对 .travis.yml 文件各块添加了注释。...页面可以查看构建状态, 如果成功的话就能在自己的 pages 上查看刚生成的博客了;如构建失败,Travis CI 会显示出哪步脚本导致了构建失败,本地源里修改它,然后再次 push 即可。...后记 这样一来,我们以后写博客或者改配置,只需要push即可,Travis CI会帮助我们自动部署,是不是比较方便?
构建一个自动部署环境。...通过在 .travis.yml 中添加 deploy 模块, Travis CI 实现自动部署, language: python python: - '2.7' - '3.5' install: -...在 on 部分我们声明一些特殊的配置,比如: brance: master 意思是只有 master 分支才执行打包部署 python: 2.7 意思是只在 python 2.7 版本执行打包部署 tags...安装 travis-encrypt pip install travis-encrypt 然后在 .travis.yml 所在目录执行: travis-encrypt --deploy gusibi python-weixin...但是这时并没有把包部署到 pypi,还需要在 github releases 页面重新发布一个版本来触发部署。
set timeout 10 #设置超时限制为...\r";exp_continue} "*assword:" {send "password\r"} } expect 100% expect eof exit 我想知道这个超时...如果超时限制对下面所有的expect语句都有效,比如下面的scp远程复制命令,如果数据没传输完,程序就超时了,那怎么解决呢? 那样的话expect 100%这句代码又有什么作用??...我看到一种解释是:代码刚开始设定了timeout的时间为10秒,如果在执行scp任务时遇到了代码中没有指定的异常,则在等待10秒后该脚本的执行会自动终止。这样理解对吗?...干嘛要这个超时限制啊,感觉很影响程序的效率,在执行过程中遇见问题就返回问题信息,退出不就好了么,就算多给10秒,还不是没法解决。
特别是重装系统之后或者用别人的电脑,需要重新搭建环境,对像我这种喜欢捣腾系统的人,简直了… 前几天偶然看到了Travis CI,可以用来自动部署博客,心甚喜之,来与大家分享。...脚本文件。...需要在此文件中添加构建环境、构建 Hexo、生成博客及后续 push 到 Pages repo 的全部脚本。 push 这一步是最麻烦的。...我们要把私钥加密并上传到 Travis CI. 然后会得到一个加密过得公钥和一段解密脚本。这个公钥只能被 Travis CI 解密,所以可以放心地把公钥放置于 Dev repo 中。...在 .travis.yml 中添加解密公钥、SSH 加密 push 等步骤的脚本。 这就是我们大致的思路,具体如何操作请看下篇文章用 Travis CI 自动部署Hexo博客到 GitHub (二)
在shell里会有一种不太常见的情况,就是脚本有时候会出现超时的现象。...一般来说遇到这种问题,我们都会简单粗暴的采用下面这种脚本来当“超时看门狗“: 这个脚本搭配两个变量使用的话,监控一点小代码还算OK,但是它的逻辑还是比较粗糙,比如如果在这个脚本执行的时候,又有了一个新的...MQ脚本有点理想化了,里面忘记了添加“超时监控”以及“重启失败的话会发邮件提醒运维人员”这两个功能,在这里我们就把上面两个短板补齐。...首先,我们先运行一下看看这个MQ看门狗脚本需要运行的时间: 从上面可见整个脚本运行大约需要13秒,那么我们考虑到其他因素设定超时时间为20秒,执行效果如图: 返回码是0,那么再看看如果因为超时而停止的返回码是多少呢...可见由于超时停止的返回码是124(ctrl+c手动退出的返回码是130),那么整个脚本就很好写了,如下: 然后在crontab里直接执行这个脚本就好了。
所以今天我教大家如何使用持续集成工具——Travis CI 来部署 Hexo 创建仓库 我们首先打开GitHub 选择 image.png image.png 仓库名称可以随意 但是一定要选择 Private...创建 Travis CI 配置 接着去创建一个文件:”.travis.yml” 里面输入 language: node_js node_js: stable sudo: required # Travis-CI...# after_script: branches: only: - master 其中 NAME 改为 git 用户名 EMAIL 改为邮箱 XXX 改为 GitHub/Coding 的部署地址...(Token)(下文会讲到) 配置 GitHub Token 写完之后去GitHub创建一个 Token 权限直接全选 然后把你 Hexo 配置 GitHub 的 SSH/HTTPS 部署地址改为 https...-f 提交完成后就刷新看看你的 Travis 吧
最近一段时间,我刚刚进入一家新公司,并接手了这里的一个站点,由于这个站点的架构设计不太合理,导致MySQL的压力始终很大,经常出现超时的Locked进程,于是编写了一段Linux的Shell脚本来定时kill...脚本如下: #!...mysql_exec -uroot -p$mysql_pwd -e \"kill $line\"" >> $file_sh done chmod +x $file_sh sh $file_sh #执行临时脚本...> $file_sh #清空临时脚本 最后,将这段脚本加入到crontab,定时执行即可。
脚本没有完善,现在只有上半部分的基础环境搭建 【准备条件】 1.三个节点的防火墙关闭 2.原有mysql卸载删除 3.文件夹名字: mgr 所有的源码包都放在mgr的文件夹下... 4.文件位置: /root/mgr 脚本文件 #!...etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld uuid和mysql随机密码后面会用到 修改密码 好久没写了,今天看了看以前写的脚本.../bin/bash source /etc/keystone/admin-openrc.sh source /etc/xiandian/openrc.sh #读取脚本后面的参数名 $0是脚本本身名字 file.../bin/bash source /etc/keystone/admin-openrc.sh source /etc/xiandian/openrc.sh #读取脚本后面的参数名 $0是脚本本身名字 file
GM_TOKEN, GM_SYMBOLS, USE_FAKE) run1 = runScript % (version) script = yml + env1 + run1 # 生成脚本文件...= aitoolsEnvScript run1 = aitoolsrunScript % (version) script = yml + env1 + run1 # 生成脚本文件...ESUNNY_EXCHANGE_NO", "x"), env_dist["version_number"]) script = yml + env1 # 生成脚本文件
outputDirectory> runtime 启动脚本.../bin/bash # version: 1.0.0 # modify: 2016/07/13 cd `dirname $0` #这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录...将其添加进来 MAIN_CLASS_JAR=`ls $DEPLOY_DIR|grep .jar|awk '{print "'$DEPLOY_DIR'/"$0}'|tr "\n" ":"` #得到要部署的...grep "$DEPLOY_DIR" | awk '{print $2}'` #获取启动后的PID echo "PID: $PIDS" echo "STDOUT: $STDOUT_FILE" 停止脚本...echo "PID: $PIDS" 1dump脚本 #!
image.png image.png image.png image.png
#!/bin/sh # 进入到项目目录 cd /root/LawFirm/production # 停掉服务 uwsgi --stop LawFirm_20...
= 0) 107 { 108 echo “1111111\n”; 109 @set_time_limit(300); 110 } 这里就限制了脚本执行时间...time of 300 seconds exceeded in /data/webroot/app/system/database/DB_driver.php on line 1409 对于一些线下脚本等...在自己的脚本里调用set_time_limit就好了。
领取专属 10元无门槛券
手把手带您无忧上云