gogs结合git-webhook自动部署

1.安装依赖

yum -y install python-devel libxslt-devel libffi-devel openssl-devel

2.编译安装python2.7和pip

tar -xf Python-2.7.5.tar.gz
cd Python-2.7.5
./configure --enable-shared
make && make install
ln -s /usr/local/bin/python /usr/bin/
unzip  setuptools-36.4.0.zip
cd setuptools-36.4.0.0
python setup.py install
tar -xf pip-9.0.1.tar.gz
cd pip-9.0.1
python setup.py install

3.安装git-webhook

pip install git-webhook

配置git-webhook

gitwebhook  config
OK: init configuration file into `/root/.git-webhook/git_webhook_config.py`.

4.安装mysql redis

yum -y install mysql mysql-server redis

配置redis 密码,启动redis

启动mysql,创建库

CREATE DATABASE IF NOT EXISTS git_webhook default character set utf8 COLLATE utf8_general_ci;

授权

grant all privileges on git_webhook.* to [email protected]‘localhost‘ identified by ‘test‘;

5.配置git-webhook

vim .git-webhook/git_webhook_config.py
mysql用户名:dev 密码:test
DATABASE_URI = ‘mysql+pymysql://dev:[email protected]/git_webhook‘
redis密码:test
CELERY_BROKER_URL = ‘redis://:[email protected]:6379/0‘
CELERY_RESULT_BACKEND = ‘redis://:[email protected]:6379/0‘
SOCKET_MESSAGE_QUEUE = ‘redis://:[email protected]:6379/0‘

6.初始化git-webhook数据库

gitwebhook createdb
OK: database is initialed.

7.启动

gitwebhook runserver &
wsgi starting up on http://172.31.23.92:18340
gitwebhook  celery &  这个是用于异步执行任务

8.添加服务器

9.配置webhook

时间: 2024-10-27 00:08:31

gogs结合git-webhook自动部署的相关文章

Jenkins+git+webhook自动触发部署和测试任务

Jenkins+git+webhook自动触发部署和测试任务 需求: 目前上线前会将需要上线的代码push到release分支,然后由人工填写参数点击触发jenkins上的任务.希望这个过程能完成自动化,只要有人往release上推代码,就自动跑部署release分支并测试 解决办法及步骤: 1.在jenkins里需要自动触发的job里的"源码管理"部分添加设置,如下图.填好git仓库url和需要检测的分支名称 注意事项: a.在填url的时候可能会提示找不到命令的错误,遇到这个错的解

做了一个简易的git 代码自动部署脚本

项目是THINKPHP写的 用了 oschina git 进行版本管理. 公网服务器是CentOS.每次用FTP上传很麻烦. 所以想到了在服务器上安装一个GIT进行 pull代码.因为我的远程服务器数据库和本地不一样,所以代码pull后还需要修改 几个config.php数据库配置文件. 所以想再git 代码更新后,要自动执行config.php文件的替换或者修改. 其中看到这里讨论http://www.v2ex.com/t/81173  git hook 然后看了下比较麻烦.也看不懂. 所以就

webhook 自动部署代码

前话: 一般情况,自己在本地开发,代码改动后要push放到线上去看效果,但是我们还要到线上环境手动拉取代码库 git pull 下来, 一来一回太麻烦了. 现在用webhook就可以实现本地开发,push代码到GitHub上面时,线上自动同步更新的代码,省事多了. 1.首先在GitHub或者码云这些代码托管库上面添加好自己的项目: 2.把本地写好的两个文件上传到代码库, sync.php 和 sync.sh : (其实就是本地push后自动请求sync.php,   里面执行 sync.sh,

git hooks自动部署

一. 准备 1. 笔者的git库和web服务器在同一台机器上. # cd /data/wwwroot/html               //html目录 # git clone /home/git/html .         //首次需克隆远程库 # chown -R www.www .             //修改WEB权限为程序运行者 2. 由于hooks下的脚本一般是由git执行,所以git需要拥有相关目录的写入权限. # usermod -a -G git www     //

git hook 自动部署

1. 当前虚拟站点根目录的 .git/ 权限 2. 当前项目裸仓库创建 hooks/post-receive 文件,并给予x 的权限 3. 复制如下内容 #!/bin/sh unset $(git rev-parse --local-env-vars) REPO="[email protected]:edc2.git" #BRANCH=`echo $refname | sed -n 's/^refs\/heads\///p'` #BRANCH_DIR="/root"

Webhook实践 —— PHP自动部署

Webhook实践 -- PHP自动部署 1.部署Gogs 参考博客:使用 Gogs 搭建自己的 Git 服务器 2.添加git的ssh公钥 因为是用git用户部署的Gogs,接下来在服务器上配置用git账号配置ssh公钥 首先在主机上生成秘钥: [[email protected] ~]$ ssh-keygen -t dsa -P "" -f ~/.ssh/id_dsa Generating public/private dsa key pair. Created directory

git管理和自动部署项目

当一个项目需要纳入到版本控制的时候,选择的工具还是比较多的,最常见的就是工具有CVS,SVN,GIT等.在平时的开发中视情况而定,从来就没有最好的版本控制工具,只有最适合的工具.在这里我习惯用git来管理自己的项目,当然之前使用svn管理的,但是当用了git工具就不愿意再用其它的工具来管理.这里除了习惯之外,git的很多功能是svn不具备的,最简单的就是离线提交,用git管理的项目你会发现整个项目的大小变化不大,不像svn那样每个目录又有一个.svn 的目录,而且会使项目的变得很大.关于git与

jenkins实现项目自动部署

背景 整体思路 实现方式 1 自动化部署脚本 2 远程执行 3 配置jenkins任务 背景 之前给公司搭建过一套gitlab+gerrit+jenkins的持续集成环境,由于操作起来有点繁琐,自己也没太搞清楚该怎么用,所以一直就只用了gitlab来做代码管理.最近要做一个项目自动部署的功能,使用过jenkins一定知道他的自动化功能.所以就从jenkins创建自动部署任务的方式来入手. 整体思路 jenkins可以配置触发器,当有新的提交时,触发执行相应的任务.由于jenkins和项目部署不在

Deployer 自动部署

本文主要介绍 Deployer -- 一个具有模块化.代码回滚.并行任务等功能的 PHP 部署工具. Deployer 用法非常简单易用,可以快速上手,且支持多个 PHP 框架. 安装 Deployer 安装有多种方法: 第一种 通过 Phar 存档,只需运行一下命令即可: curl -LO https://deployer.org/deployer.phar mv deployer.phar /usr/local/bin/dep chmod +x /usr/local/bin/dep 第二种 

使用gogs,drone搭建自动部署

使用gogs,drone搭建自动部署 使用gogs,drone,docker搭建自动部署测试环境 Gogs是一个使用go语言开发的自助git服务,支持所有平台Docker是使用go开发的开源容器引擎Drone是一个基于容器技术的持续集成平台.每个构建都在一个临时的Docker容器中执行,使开发人员能够完全控制其构建环境并保证隔离.drone易于安装和使用,其目标是替代jenkins 本文所实现的的功能为当你push代码到gogs时,自动更新您测试环境的二进制文件并重启,实现自动部署(以go开发a