实现自动部署的关键就是利用github的webhooks,我们在github建立一个项目之后,在项目主页点击Settings,看到Webhooks点击打开可以添加一个链接,这里的意思是,github可以帮你监听一些项目发生的事件,当指定事件发生时,会向你指定的链接发一个post请求,然后你就可以知道自己的哪个项目发生了什么事情,再去做一些具体的操作,那么这时就可以利用shell脚本实现项目自动pull并且重新部署,最后实现的效果就是在本地push代码,一段时间过后,效果就展示在了网站上面. 自动…
利用github的webhook进行自动部署 github提供了webhook功能,大概意思就是,当你提交了代码,git检测到你进行了push,可以调起你一个你知道的url. 这个功能有什么用了?比如个人博客写文章的时候,提交了github应该马上把服务器的版本也更新一下,这时候webhook就可以很方便的处理这件事情了. 这篇文章主要讲解整套流程如何设置 设置github拉取权限 设置github的访问权限有两种方式,一种是直接将github的账号密码配置配置到服务器的全局配置文件中,一种是通…
使用hexo在github pages上弄了一个静态博客,后来觉得访问有点慢,于是放到自己vps上. 对于静态博客的部署非常简单,本来就是html,js,css等静态文件,只要nginx上配置下目录就可以正常访问了. 麻烦的是博客更新的时候,还要去vps上操作更新git pull操作,如果每次在本地commit之后,github仓库能够自动更新到vps上多好啊,于是就用到了webhook的功能.(这里静态文件的生成还是在本地,只是把生成好的静态文件push到github了,所以自动部署没有构建的…
前言 在项目开发中使用git进行代码的管理,每次完成更改上传代码后,还需要登录服务器将代码拉取下来.现在git服务器(gitee/gitlab/github)都会有Webhooks功能,以实现在向git仓库推送/合并等时机让服务器自动拉取新代码. 流程说明 使用Webhooks后,整个上传部署流程如下: 服务器端操作 webhook脚本创建 关于推送的post数据格式,参考码云的<WebHook 推送数据格式说明>.根据这个参数格式编写php的脚本文件如下: <?php /** *git…
GitHub 的网络钩子(webhook)功能,可以很方便的实现自动化部署.本文记录了使用 Node.js 的开发部署过程,当项目的 master 分支被推时,将在服务器进行自动部署 添加网路钩子 在 GitHub 的相应项目首页,点击右上角菜单 Setting, 点击左侧菜单 Webhooks,点击右上角按钮 Add webhook 设置 Payload URL 为接收事件的地址,Content type 建议选择 applicaiton/json,Secret 可选填任意字符串,Which…
参考: https://blog.csdn.net/u013764814/article/details/85240752 -------------------------------------------- 前提:本地安装git,服务器安装git 这是要放到服务器上的代码,git通过一个接口访问到go方法.从而实现git pull.我开放的接口是 http://XXX.cn/index/index/go public function go() { // webhook上设置的secret…
1.宿主机中创建目录 mkdir -p /jenkins_home 2.编辑compose文件,文件名jenkins.yml version: '3.4' services: jenkins-upgrade: volumes: - /jenkins_home:/var/jenkins_home image: jenkins/jenkins:lts ports: - : - : deploy: mode: global update_config: parallelism: delay: 10s…
踩坑: 1.php程序执行linux命令是以webserver的user用户(如apache .www……)操作的,需要在/etc/sudoers添加用户免密码操作权限; %apache ALL=(ALL)       NOPASSWD:ALL 2.以webserver用户执行的命令都只能在其默认根目录中进行,如apache默认根目录在/usr/share/httpd   ;nginx默认根目录在/usr/share/nginx/html; 3.若主机配置多站点,域名指向指定目录,即用户每执行一…
前言 最近在学习 Angular,一些基础的语法也学习的差不多了,就在 github 上新建了一个代码仓库,准备用 ng-zorro 搭个后台应用的模板,方便自己以后写些小东西时可以直接使用.前端项目,最主要的还是能够实际看到,因此考虑找个地方部署,因为自己的博客是部署到 github page 上的,并且这个项目也只是一个静态网站,所以这里同样选择使用 github page 同时,考虑到发布项目时,虽然使用 github page 已经帮我们省略了拷贝文件到服务器上这一步,但是还是需要自己手…
作者:小傅哥 博客:https://bugstack.cn 原文:https://mp.weixin.qq.com/s/VtTHUfyiITNSoGy052jkXQ 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 小傅哥,我搞了三台服务器,维护学校游戏社站点,我麻了! 女粉来信:傅哥,我大二了,就编程学的还可以的那种大二女生.最近我不是天天看见一大堆人宣传服务器白皮袄吗,我就在11.1日也买了,还让宿舍的两个同学一起跟着买了,都买了三年.想着这样我们三个人就可以搭建和维护我们学校游戏社团…
前言 如果你手动部署过项目,一定会深感持续集成的必要性,因为手动部署实在又繁琐又耗时,虽然部署流程基本固定,依然容易出错. 如果你很熟悉持续集成,一定会同意这样的观点:"使用它已经成为一种标配". 什么是持续集成 Continuous Integration(CI) is a development practice that requires developers to integrate code into a shared repository several times a d…
利用 Github Actions 自动更新 docfx 文档 Intro docfx 是微软出品一个 .NET API 文档框架,有一个理念是代码即文档,会根据项目代码自动生成 API 文档,即使没有写任何注释也会生成 API 文档,也有一些默认的主题可以配置,也可以自定义主题配置,详细介绍可以参考官方介绍 https://dotnet.github.io/docfx/ 目前也有很多项目在使用 docfx 来生成文档,比如前段时间介绍过的 Reserver-Proxy 项目,也是看到了 res…
GenshinDailyHelper 原神的签到福利是需要单独下载APP进行才可以领取,并且每天需要打卡,虽然奖励并不是很可观,但有一些摩拉,食材和可观的经验书累计起来还是挺有吸引力的.可能本身不怎么刷论坛的玩家往往会忽略这些奖励.利用Github的Action实现了自动签到功能 自动签到步骤为 获取账号信息(区域和UID) 判断是否已经完成签到 未进行签到到执行签到动作 上述任何步骤出现异常都将判定为失败,并通过Github邮件提醒 运行结果  该项目支持多号签到,但各位旅行者爱惜羊角包,不要…
前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文章会非常不方便. 是因为hexo使用的部署命令是把生成好的静态文件上传到仓库中的,所以,在其他电脑上同步下来的只是静态文件而已,不是源码. 到这里就会想到能不能这样:将源码同步到远程仓库后,可以实现自动生成部署呢? 答案是肯定的,可以通过Travis CI来实现. 那么,本文就介绍一下Travis…
一.参考文献 https://developer.github.com/webhooks/ https://docs.gitlab.com/ee/user/project/integrations/webhooks.html https://segmentfault.com/a/1190000011561808 https://excaliburhan.com/post/add-webhooks-to-your-project.html https://aotu.io/notes/2016/01…
不想看前面这么多废话的可以直接跳到具体实现 Github Actions 是什么? 说到 Github Actions 不得不提一下. 持续集成(continuous integration):高质量的让产品快速迭代 持续交付(continuous delivery):交付给团队测试 持续部署(continuous deployment):持续交付的下一步核心概念团队测试完成后自动部署到生产环境 CI/CD 是由很多操作组成的(如:执行单元测试.语法检查.打包.部署等等).Github 把这些操…
Git服务搭建多见于linux环境,但windows主机也不少,目前网上文章诸多不全,且以讹传讹,不甚清楚.下面介绍windows环境下的自动部署和发布. 所需环境及资源:Java环境.Gitblit:示例服务器环境:windows server 2012 一.Java环境的安装 1)下载JRE安装包windows环境下使用GitBlit,必须安装Java环境,而Java环境可采用JRE或JDK两种方式安装,这里采用JRE的方式,其安装包相对JDK也要小不少,若已安装JDK环境可忽略. JRE安…
注意:服务器:Ubuntu Server 14.04,我的项目比较小,所有操作都使用root,建议最好新建一个用户(需要有管理员权限,否则在后面使用hooks自动部署代码时会出现各种权限问题,很蛋疼的). 一.搭建GIT服务器 1. 安装GIT 1.1 安装前最好先更新apt-get,同时需要事先安装好openssh,对应的两条命令如下: apt-get update apt-get install openssh 1.2 通过apt-get安装git apt-get install git 2…
这一讲是根据读者的反馈补充的一个讲解,好多读者反应安装 Heroku-cli 遇到问题,或者是操作繁琐,其实上一讲中提到的 Heroku 只是为了免费部署,而安装 Heroku-CLI只是为了部署,所以小编分享给大家一个很方便的部署方式,这样就可以少学习一个命令了. 这种方式简单到你只要 Push 代码到 Github,Heroku 就会自动部署. 原理比较简单,Heroku授权获得了 Github的 Hook,监听你 Push 的消息,然后进行部署. Github 准备 第一步就是你需要有一个…
上次有人留言说,技术博客是程序员的标配,但据我所知绝大部分技术同学到现在仍然没有自己的技术博客.原因有很多,有的是懒的写,有的是怕写不好,还有的是一直想憋个大招,幻想做到完美再发出来,结果一直胎死腹中.但其实更多程序员是不知道如何去搭建一个博客,其实如今搭建一个个人技术博客非常简单,其中最简单搭建方式莫属使用 GitHub Pages + Jekyll 了,我的博客就是使用这种技术. GitHub Pages Github Pages 是面向用户.组织和项目开放的公共静态页面搭建托管服务,站点可…
利用Github Pages展示自己的项目 写了个小项目,想要分享出去,一直在用Github管理项目,了解到Github还有Github Pages功能,然后惊喜的发现Github pages可以搭建博客或者托管网页,比什么买域名,部署到什么阿里云之类的服务器方便多了,心动不如行动,下面就来说一下它的使用过程吧!一: 注册账号:地址: (https://github.com/),如果有了账号直接登录就ok了! login.png 2.下载安装git:https://git-scm.com/dow…
1.前言 其实早在这之前我就一直想过写博客,但由于种种原因一直没有去学习这方面的知识,最近半个月(从开始动手到搭建好)一直陆陆续续的在着手这方面的工作.从开始到搭建完成的过程中遇到了很多困难,因为在这之前对Github一点了解都没有导致满头雾水,不断的跳进一个又一个坑,甚至想过放弃.但最后结果想必都知道了.在写如何搭建之前我觉得我们应该先从头开始了解. 那么我为什么要建立自己的博客?——引自:为什么你要写博客?—陈素封 1.“提高将事情讲清楚的能力”. 在写博客之前你需要花更多的时间来表达出你的…
之前闲着, 利用Github搭了个免费的个人主页. 涉及: Github注册 Github搭建博客 域名选购 绑定域名 更多 一  Github注册 在地址栏输入地址:http://github.com/join 填写相关信息, 按步骤完成即可. 这样, 你就拥有了属于自己的Github账号了. 很简单吧~ GitHub · Build software better, together.           So Cool! 二 Github搭建博客 配置和使用Github 以下教程主要参考b…
Windows 2003]利用域&&组策略自动部署软件 转自 http://hi.baidu.com/qu6zhi/item/4c0fa100dc768613cc34ead0 ===================================================================================可以利用 Active Directory 的组策略功能来为公司的计算机部署软件.在规模比较大的网络环境里面,为了降低我们系统管理逐台给每个客户端去安装…
每次换系统或换电脑之后重新部署博客总是很苦恼?想像jekyll那样,一次性部署完成后,以后本地不用安装环境直接 git push 就能生成博客?那推荐你应该使用使用 Travis CI了. 这篇文章我们来讲讲如何利用 Travis CI把你 push 上去的博客源文件直接生成可访问的站点,并且同步部署到 github pages 和 coding pages . 这篇文章假设你已经对这些采用 git 版本控制系统的静态博客托管服务有所了解,并且知道怎么去简单的使用 git 以及了解 hexo 写…
前面基本上把整个配置过程都完整地串起来了,包括可能遇到的难点,按照那个套路应该可以配置好自动打包发布的功能.简单总结下我的学习过程,以及遇到问题是怎样解决的. 准备一个项目源码 刚开始在github和码云上搜索有没有现成的练习项目,很可惜,没有找到,所以只能自己创建一个简单的项目,当然,如果在公司有源码浏览权限的话可以直接使用公司git服务器上的项目来练习,可惜我们公司并没有给测试人员开放源码权限. 我特意下载了一个Intellij IDEA来新建java工程(呵呵,杀鸡用牛刀~~),Ant的b…
安装git服务器先安装依赖软件:yum -y install gcc zlib-devel openssl-devel perl cpio expat-devel gettext-devel openssl zlib curl autoconf tk1.下载最新的git文件:https://www.kernel.org/pub/software/scm/git/git-2.13.0.tar.gz2.tar xzf git-2.11.1.tar.gz 3.cd git-2.11.14../conf…
前言 想搭建自己博客很久了(虽然搭了也不见得能产出多频繁). 最初萌生想写自己博客的想法,想象中,是自己一行一行码出来的成品,对众多快速构建+模板式搭建不屑一顾,也是那段时间给闲的,从前后端选型.数据库敲定,到实际代码编写,越写越发现自己要弄的东西太多太多,而且,没有模板,没有原型,当初我的审美还是很欠缺的,每写一行css都是怀疑的,痛苦的,直到一年以后,我的博客还处于代码阶段,且中间好几次因为工作太忙,长时间没碰它,想法越来越弱,直至搁浅. 这段时间换了工作,昨天发版,今天闲的不行,于是这想法…
目前公司开发的项目已经部署到服务器上,部署项目的测试环境和生产环境,加上每个项目n个服务,于是我就 , 骚就是骚,但是就是太累了,于是花点时间研究了一下Jenkins. Jenkins的作用和它的logo表现出来的一样,就是为了做工作的时候,能够比较轻松,像个绅士一样游刃有余.哈哈哈……下面开始吧! 一.安装内容 Jenkins(本文主要安装).Maven.Git.JDK(这个三个安装过程略) Jenkins与Github配合实现持续集成需要注意以下几点: ①Jenkins要部署到外网,因为内网…
最近机缘巧合的购置了域名和服务器,不用实在是浪费,再加上一直没有属于自己的个人网站,所以打算用hexo在服务器上玩一下,这样也就不用再纠结用Github pages还是Gitee pages了.当然,今天的主题并不是博客搭建,而是如何利用Github的钩子,将博客代码部署到服务器上. 毕竟Github的钩子已经历史悠久了,网上有很多开源项目可以拿来用,所以我并没有造轮子,而是去找了5K star的开源Go项目webhook,这个工具的作用是接收Github仓库的变动通知,然后调用你配置好的she…