之前在一台vps服务器上面搭建了Git服务器,用来做代码管理,方便团队开发.但是问题也就相应的来了,使用git可以轻松的上传代码,而由于做的是web开发,每次还都得到服务器上把代码手动pull或者复制到网页所在的文件夹下,也就比较麻烦,不适合我这种懒人.git提供了hook机制,可以很容易的实现代码的自动部署. 个人原创,版权所有,转载请注明原文出处: http://www.embbnux.com/2014/09/05/git_server_let_code_auto_deploy/ 一 git…
起因: 经常本地push到gitee等线上代码仓库,然后登陆服务器在进行pull,很麻烦,想偷懒怎么办?使用git的webhook实现! 1.实现原理 1.1本地提交推送 1.2线上仓库监听push动作,也就是webhook,回调url触发服务器的pull操作 1.3服务器pull操作 2.实现步骤 2.1本地和服务器安装git(略过) 2.2码云进入项目->管理->webhook设置,(其他原理一样 git,coding) url就是你服务器上可以访问的地址, 该地址是进行pull命令的文件…
踩坑: 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.若主机配置多站点,域名指向指定目录,即用户每执行一…
做了一个简易的git 代码自动部署脚本 http://my.oschina.net/caomenglong/blog/472665 发表于2个月前(2015-06-30 21:08)   阅读(200) | 评论(1) 12人收藏此文章, 我要收藏 赞1 8月22日珠海 OSC 源创会正在报名,送机械键盘和开源无码内裤   项目是THINKPHP写的 用了 oschina git 进行版本管理. 公网服务器是CentOS.每次用FTP上传很麻烦. 所以想到了在服务器上安装一个GIT进行 pull…
注:本文来源于<it小熊> [ ①Java代码自动部署-总结简介] 代码部署是每一个软件开发项目组都会有的一个流程,也是从开发环节到发布功能必不可少的环节.对于Java开发者来说,Java代码的发布部署也是经常需要做的一件事,特别是互联网公司.代码的发布上线关系到保证生产环境能够正常启动及功能是否能正常运行,所以代码部署在整个项目开发周期还是占据很重要的地位. 由于本人近期在学习Java代码自动发布相关的知识,此系列文章是对此次学习到的知识进行巩固和总结:同时,也希望能够帮助到和我一样对此方面…
平时项目代码都托管在Coding,然后每次提交了代码之后都要SSH到服务器上去git pull一次,很是繁琐,在看了OverTrue的<使用PHP脚本远程部署git项目>后就尝试在自己服务器上搞一下自动化部署,下面把部署步骤列出来算是一个分享与备忘. 首先在Coding上创建一个项目,然后在本地clone一份. 在服务器上(以Nginx环境为例,Apache请看OverTrue的教程) 1. 生成公钥 公钥有两个:1. git用户公钥,2. 部署公钥: git用户公钥   1 2 3 ssh-…
1.安装 http://www.cnblogs.com/sunada2005/archive/2013/06/06/3121098.html http://www.cnblogs.com/zhcncn/p/4030078.html http://www.cnblogs.com/Neddy/archive/2011/02/28/1967548.html 先装依赖,在安装 其中的下载地址可以更改成如下: http://download.chinaunix.net/download/0004000/3…
安装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…
一.概述 在上一篇文章,链接如下: https://www.cnblogs.com/xiao987334176/p/11434849.html 已经实现了 Jenkins+harbor+gitlab+k8s 自动部署功能,但是最终发布的时候,是手动的. 现在需要实现每次GitLab上有提交事件的时候,都能触发Jenkins执行相应的操作,比如:构建并自动部署. 二.Jenkins配置 安装Gitlab Hook插件 登录后台,点击 Manage Jenkins --> Manage Plugin…
gitlab有个功能叫webhook,比较适合前端代码的自动部署.其中的逻辑在  http://172.30.83.152:30080/help/user/project/integrations/webhooks  这里有详细写到.简单说就是,gitlab会监控master(或者其他分支)代码提交情况, 一旦有提交,就会发送一个请求到我设置的回调地址:我接收到请求了,就直接pull最新的代码.大概了解了,可以看我下面的操作步骤. 一.设置回调地址 二.编写接收回调的接口 三.配置到服务器上 1…
http://www.tuicool.com/articles/3QRB7jU 自动化能解放人类的双手,而且更重要的是,因为按照规定的流程来走,也减少了很多误操作的产生.不知道大家平时都是怎么样更新自己生产环境的代码的,FTP 覆盖旧文件.服务器定时任务去 build 最新的源码,还是有更高级的做法? 目前我在使用 Git Hook 来部署自己的项目.Git Hook 是 Git 提供的一个钩子,能被特定的事件触发后调用.其实,更通俗的讲,当你设置了 Git Hook 后,只要你的远程仓库收到一…
自动部署过程: jenkins从svn拉取代码,调用maven去打war包,用ansible去解压war包,最后重启tomcat. 前情回顾:在前面的文章我的环境已经有Jenkins+ansible ,在加上我们公司有自己的SVN,我只要在本地安装个Tomcat就ok啦. 其实也有Tomcat的,但我喜欢自己玩自己的,谁让我是菜鸟了呢,这其中的坑真的不少,希望能帮到初学者. 一. 什么是Maven(简单说一种打包的工具)? Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建…
Jenkins是什么? 基于JAVA的开源的自动化系统平台 加速自动化CI,CD任务及流水线,所有类型的任务:构建,测试,部署等 丰富的插件生态系统支持功能扩展,1400+插件和SCM,测试,通知,报告,Artfact,触发,外部集成等 基于Web的管理和使用界面 源于Hudson 官网文档:https://jenkins.io/doc/ Jenkins系统架构图 用docker环境部署Jenkins 一,安装docker-ce版本 1.1 删除之前版本的Docker sudo yum remo…
一.参考文献 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…
1.Jenkins 安装完成以后,首先我们在Jenkins中需要安装一下,Gitlab Hook Plugin 插件: 2.插件安装完成我们创建任务,在任务重构建触发器下获取回调URL: 注意: 注意: 默认Jjenkins自带的变量不包含Jenkins这层目录,尤其采用tomcat部署的同学注意,直接把Jenkins.war放在tomcat的webapps目录回调的url实际为 http://123.56.12.xxx:8080/jenkins/project/demo 3.登陆gitlab…
1.Jenkins 安装完成以后,首先我们在Jenkins中需要安装一下,Gitlab Hook Plugin 插件: 2.插件安装完成我们创建任务,在任务重构建触发器下获取回调URL: 注意: 注意: 默认Jjenkins自带的变量不包含Jenkins这层目录,尤其采用tomcat部署的同学注意,直接把Jenkins.war放在tomcat的webapps目录回调的url实际为 http://123.56.12.xxx:8080/jenkins/project/demo 3.登陆gitlab…
引言:自己想搭一套git的服务端环境,不想用github码云等.经多方资料整合,实验总结,以下是亲测有效的方式.可用于公司日常开发 一.搭建Git环境 ① 安装 Git Linux 做为服务器端系统,Windows 作为客户端系统,分别安装 Git 服务器端: #yum install -y git 安装完后,查看 Git 版本 [root@localhost ~]# git --version git version 1.7.1 ② 服务器端创建 git 用户,用来管理 Git 服务,并为 g…
jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:java, c#, PHP等)的项目构建,也完全兼容ant.maven.gradle等多种第三方构建工具,同时跟svn.git能无缝集成,也支持直接与知名源代码托管网站,比如github.bitbucket直接集成 jenkins服务器:192.168.239.134测试服务器: 192.168.239.136 1.配置…
环境 centos 7.0+ Java JDK 1.8+ jenkins 2.220 maven 3.0+ git 1.8+ 注意事项 一. linux 安装 JDK (jdk-8u201-linux-x64.tar.gz) 1.下载jdk 2.在/usr 目录下,新建 /java 目录, 3.在/java 目录下,新建/jdk目录, 4.把jdk-8u201-linux-x64.tar.gz 拷贝到/jdk目录下 5.解压 [root@]# tar -zxvf jdk-8u201-linux-…
之前已经用Git实现了自己博客的提交自动部署,并自动提交到GitHub和coding以备不时之需.平时项目代码都托管在Coding或者GitHub上,也已经用上了coding提供的webhook功能,偶尔个别自己玩玩的项目提交了代码之后再SSH到服务器上去 git pull 一次,刚好一起做成了自动部署,方法记录起来备忘. 实现步骤 在服务器上 以Nginx环境为例,Apache请看OverTrue的教程 生成公钥 公钥有两个:1. git用户公钥,2. 部署公钥: git用户公钥 123 ss…
搭建Jenkins wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reporpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.keyyum install -y jenkins systemctl enable jenkins.service #设置jenkins服务为自启动服务systemctl start jenkin…
Git服务搭建多见于linux环境,但windows主机也不少,目前网上文章诸多不全,且以讹传讹,不甚清楚.下面介绍windows环境下的自动部署和发布. 所需环境及资源:Java环境.Gitblit:示例服务器环境:windows server 2012 一.Java环境的安装 1)下载JRE安装包windows环境下使用GitBlit,必须安装Java环境,而Java环境可采用JRE或JDK两种方式安装,这里采用JRE的方式,其安装包相对JDK也要小不少,若已安装JDK环境可忽略. JRE安…
https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks https://github.com/git/git/blob/master/templates/hooks--commit-msg.sample 8.3 Customizing Git - Git Hooks Git Hooks Like many other Version Control Systems, Git has a way to fire off custom scr…
使用WebHook自动部署项目今天在laravist.com看到了这个 Webhook 自动部署Git项目 这个教学视频,以前自己也想做这样做一个利用Git WebHook的自动化部署,但总是不成功,今天看到视频就想着再次尝试一下,虽然有视频参考但还是遇到了一些坑,在这里我写下自己的部署过程.注:1.我是在de style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace…
最近在使用Coding的代码托管,顺便设置了WebHook自动部署,过程还是挺艰辛的,主要还是没搞懂Linux的权限控制,不过好在弄好了,分享一下获益最深的一篇文章,供大家参考,原文是英文版的,我的英语也不行,勉强能看懂,大家凑合着看吧 原文链接:http://jondavidjohn.com/git-pull-from-a-php-script-not-so-simple/ I intended to set up a repository (hosted on BitBucket) to i…
前话: 一般情况,自己在本地开发,代码改动后要push放到线上去看效果,但是我们还要到线上环境手动拉取代码库 git pull 下来, 一来一回太麻烦了. 现在用webhook就可以实现本地开发,push代码到GitHub上面时,线上自动同步更新的代码,省事多了. 1.首先在GitHub或者码云这些代码托管库上面添加好自己的项目: 2.把本地写好的两个文件上传到代码库, sync.php 和 sync.sh : (其实就是本地push后自动请求sync.php,   里面执行 sync.sh,…
https://segmentfault.com/a/1190000007892407 安装nodejs 安装nodejs建议直接下载二进制包,把官网上的64位二进制版本下载地址复制下来,执行 wget https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz xz格式的文件按照以下命令解压: xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar tar xvf xxx.tar来解包 解压之后把目录拷贝到/…
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…
在之前的公司,我们前端使用webpack构建项目,项目构建完成后,我们会使用ftp或linux的一些命令工具上传我们的文件到服务器上,这种方式虽然是可以,但是最近面试的时候,人家会问我前端如何部署项目,我就说我们公司目前是这样操作的,最后人家会感觉很low,最后总之总之没有面试上.因此今天来给大家介绍下使用Jenkins基于github来实现前端自动化集成打包部署前端资源文件. Jenkins基本介绍: Jenkins是一个开源软件项目,它是基于java开发的一种持续集成工具,它用于监控持续重复…
本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解放生产力. 其实仅gitlab自己就可以实现代码的自动化部署,gitlab有自己的CI,甚至只用gitlab的webhook(新版本叫 Integrations )+ 服务器端shell脚本就可以实现自动化部署. 但我们为什么还要用jenkins呢, 1.提供一个可视化的操作界面,对部署结果一目了然…