仓库推送/合并等时机让服务器自动拉取新代码....php /** *git webhook 自动部署脚本 */ //接收post参数 $requestBody = file_get_contents("php...在码云上打开项目仓库,依次点击[管理]=>[部署公钥管理]=>[添加公钥].将上面复制的id_rsa.pub公钥添加进来.完成后在服务器上执行命令: ssh -T git@gitee.com...添加webhook 在码云上打开项目仓库,依次点击[管理]=>[WebHooks]=>[添加],填写webhook的php脚本地址,如有需要填写webhook密码/密钥(密钥需要再添加验签),如下图 image.png...到此,完成配置,之后的push操作可在码云[WebHooks 管理]中查看自动部署请求记录信息.也可查看服务器中的git_webhook_log.txt部署日志(php脚本中写入,不需要可注释掉).
/bin/sh # 进入到项目目录 cd /root/LawFirm/production # 停掉服务 uwsgi --stop LawFirm_20180326/uwsgi.pid # 将之前的项目重新命名...并且移动到bak中备份 # mv LawFirm_20180326 bak/ # mv LawFirm_20180326.zip bak/ # 修改之前的项目文件名 datename=$(date...LawFirm_20180326.zip $datename.zip # 将修改后的文件移动到bak中备份 mv $datename bak/ mv $datename.zip bak/ # 打开新的项目包并且解压...sudo killall -9 uwsgi # 进入虚拟环境 source /usr/local/python3/bin/virtualenvwrapper.sh workon lf # 重新运行项目
钩子功能(callback),是帮助用户push了代码后,自动回调一个您设定的http地址。...这是一个通用的解决方案,用户可以自己根据不同的需求,来编写自己的脚本程序(比如发邮件,自动部署等); github上最流行的webhooks是adnanh/webhook。
vercel 是一个可以完成自动化部署前端项目的网站,你只需要把你的项目上传即可。支持与GitHub项目连接。 注册时GitHub邮箱不能为qq邮箱,因此我申请了个GitHub小号。...创建项目,勾选GitHub输入Git地址直接同步项目完成自动部署。 ? 由于push代码又要重新配置key,我直接使用GitHub桌面版来上传我的前端静态代码。 ?...vercel 帮我自动完成部署和实时更新,当你push代码会自动重新编译,你还可以免费绑定自定义域名以及ssl证书。 ? 国内访问速度还是很快的,感觉非常满意。...同时他支持较多前端项目的部署,例如hexo,vue,nuxt,next ? ?
引言#phpLargon部署Laravel非常简单,只要对于PHP的一些组件进行相关了解即可:[compose]Largon的bin组件介绍Apache:老牌Web服务器Cmder:命令行工具(Windows...图片Largon安装之后就可以立即初始化Laravel项目。快速构建Laravel项目Windows系统在界面的右下角右击图标,然后根据下面的提示自动构建项目即可。...图片构建完成之后,如果看到下面的内容,说明正确的下载并且部署项目:***** NOTE: Now, you can use pretty url for your awesome project :)...,需要注意项目的名字不要写错,最安全的方式是复制项目名称。...>");// 第三种方法:// echo '';// var_dump($kernel);// echo '';总结Largon使用十分简单,Laravel的项目在Largon中部署也更为简单
timestamp'] / 1000);// 时间 //$pusher = $body['pusher']['name'];// 提交人 //$name = $body['project']['name'];// 项目名...php /** * 自动更新钩子 * 修改密钥及项目路径即可使用 **/ //以流的方式读取 $requestBody = file_get_contents("php://input");...PHP_EOL); // 验证token 有错就写进日志并退出 if ($base64 !.../garfield 项目目录 $output = shell_exec('cd /www/wwwroot/garfield/; git pull origin ' ....PHP_EOL .
start|stop|restart|uninstall) 站点主机管理:phpstudy (add|del|list) ftpd用户管理:phpstudy ftp (add|del|list) 项目地址...如何切换php版: 假如你先安装的apache+php5.3 想切换成nginx+php5.4 你就再走一次....版本: 注意:选择PHP7等高版本时需要自行确认是否与自己的程序兼容。...LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。...3、安装完成 如果显示Nginx: OK,MySQL: OK,PHP: OK 并且Nginx、MySQL、PHP都是running,80和3306端口都存在,并提示Install lnmp
一个脚本辅助部署前端项目 公司有些项目环境没有接入 jenkins 所以部署起来比较麻烦,所以写个脚本节约部署时间。...# 背景 前端项目分开发、测试、生产环境,开发及测试已接入 jenkins 自动部署,生产环境依然还是手动。...每次都需要进行本地打包, 手动压缩上传到服务器目录,ssh 登录服务器后备份旧文件, 手动删除文件再将包解压到指定目录,操作流程比较繁琐,需要提前了解服务器部署目录,不太友好,所以就写了个脚本简化部署操作...# 依赖安装 部署包含压缩文件、ssh 登录、文件上传等几个步骤,所以需要安装如下依赖: archiver,压缩文件使用。 node-ssh,ssh 操作。 silly-datetime,时间处理。...# 关键代码 在项目根目录新建 deploy.js 脚本,作用是上传压缩包至服务器、备份旧文件,解压代码压缩包。
回到正题,之前的玩法都是开着putty,本地编辑好提交好push上去bitbucket/github,然后putty里面在原地git pull,今天突然想到能不能利用hook简单做个自动部署,稍微看了一下...php /** * 简单自动部署 * bitbucket POST hook http://horsley:anypassword@your_host/autodeploy.php */ define...,为了实现自动部署最好给www一个home,里面要放keys什么的。...生成之后吧id_rsa.pub cat出来加到仓库的部署key,部署key只有只读权限还是挺安全的。...这里php后面可以再加别的东西例如针对自动部署的环境做的一些适应性修改、导数据库等工作,注意不要弄出conflict导致下次git pull困难就行。
在 Windows 系统下,使用 Apache 服务器发布多个 PHP 项目是一项常见的任务。本文将介绍如何在 Windows 操作系统下使用 Apache 发布多个 PHP 项目。...在 Windows 操作系统下使用 Apache 发布多个 PHP 项目可能有一些挑战,但是只要您按照本文的步骤进行操作,您就可以成功地完成这项任务。希望本文能够对您有所帮助。...一、安装 Apache 如果没有安装 Apache,可以参考我之前的文章 Windows用Apache发布php网站 进行安装; 二、准备好两个可运行的php项目 项目放到预发布的文件夹里,一会需要填写项目路径...具体配置如下: # 第一个项目 DocumentRoot "C:\PHP_Project\www" <!...五、公网验证 我们客户端浏览器输入ip:port可以访问,就说明我们发布成功,60、61分别部署的项目都可以各自访问了,至此,Windows下Apache部署多个php项目的配置完成。
一、概述 在项目数量比较大和构建流程比较复杂的场景,我们一般会使用jenkins以及衍生产品来实现构建打包部署能力,但对于一些简单的项目和小众场景,我们使用简单的脚本构建部署,也未必不是一个简单便捷和节省成本的选择...2.基于java命令启动的部署脚本 我们以项目springboot-demo为例,创建项目路径: mkdir -p /opt/app/server/springboot-demo 编写部署脚本: cd...3.基于docker启动的部署脚本 有些项目团队喜欢使用docker启动java服务,那么我们同样可以将上述脚本稍做改造,来实现基于shell+docker的简单项目部署能力。...四、总结 使用shell脚本来实现项目的打包部署比较轻量级,必要适合小团队和小众化项目的部署,相比于jenkins以及类似衍生产品打包部署有以下一些可能的优缺点: 优点: 定制化程度高: 通过编写自定义的...节省成本:jenkins部署项目时是比较吃服务器性能的,一般部署jenkins的服务器配置要比业务机器的配置高,使用脚本节省了部署jenkins的机器成本。
WEBHOOK是一种系统通知的形式,在达到特定条件时系统自动触发网络请求。 可以理解为服务端系统中的跨设备回调函数。 手头有很多个项目在同时运作维护,核心的框架也不断在升级和修复。...刚开始的时候项目很少,基本上就是通过sublimetext的SFTP直接手动上传,现在随着需要维护的项目增多,每次做更新和上传的时候都会出现版本间的不同步,部署的繁琐,不能做到增量更新,更新效率比较差。...现在研究一下使用webhook来做到自动部署。目前的代码库托管在gitee码云。 注!...(强烈建议要使用鉴权) 如: https://domain.cn/hook.php 3- 编写服务端消息解析、文件部署的功能 <?...(冲突自救) 相关参考: php与Git下基于webhook的自动化部署 配置码云git自动更新的webhook
Maven 是一个流行的 Java 构建工具,用于自动化构建、测试和部署 Java 应用程序。...创建第一个管理员用户 实例配置 ---- 部署一个Go项目(配置某个分支每次有push,自动拉取最新代码并构建) 想要构建的示例代码:[1] package main import ( "time...在此不试了 ---- 更多参考: jenkins部署go程序(自动编译部署)[5] 使用Github的WebHooks实现生产环境代码自动更新[6] Jenkins 自动化部署[7] Jenkins实现...golang项目远程自动化部署[8] 参考资料 [1] 想要构建的示例代码:: https://github.com/cuishuang/jenkins-go-first/blob/main/hello.go...[8] Jenkins实现golang项目远程自动化部署: https://juejin.cn/post/708407101720258151
Jenkins简介 介绍 jenkins是一个开源的、提供友好操作界面的持续集成工具(CI),起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控一些定时执行的任务...# 3> 任何时间、任何地点生成可部署的软件 怎么做 基本要求:要将这种实践付诸实际,需要一些必要的条件,如下 1> 一个自动构建过程,包括自动编译、分发、部署和测试等 2> 一个代码存储库,即需要版本控制软件来保障代码的可维护性...GitLab上代码是成功的 实现代码自动部署到测试环境 Jenkins点击构建项目能自动去GitLab上拉取代码并以Jenkins为中控机连接到测试环境并部署相关项目 Jenkins构建wordpress...至此说明我们的Jenkins的一键部署是没有问题的 开发一提交GitLab代码,直接部署到生产环境 开发push代码,自动把代码发布到LNMP环境中,GitLab直接出发Jenkins构建 安装Jenkins...wp-login.php xmlrpc.php # 至此说明拉取代码是成功的 # 接下来我们修改一下代码,然后上传看jenkins能不能自动构建项目 [root@develoment project
这样每次代码有改动,都得先上传到服务器,再重新启动uwsgiconfig.ini文件,很是麻烦,所以我们期望找到一种自动化的工具,能帮我们自动上传代码,重新启动uwsgi服务器,jenkins就是我们所需要的工具...service jenkins start ---启动jenkins 在浏览器输入 http://公网ip: 8080 (默认)访问jenkins页面(php界面)。...image 构建环境:不做任何改变 构建: 选择增加构建后操作,方式选择SSH,目的是为了让服务器重启uwsgiconfig.ini文件,实现自动化部署。 ?...image 到此,你的代码在托管工具coding上更新之后,会通知绑定的jenkins,jenkins一并更新,并上传到服务器指定目录,最后通过执行脚本重启uwsgi服务器,实现自动化部署。...to=https%3A%2F%2Fblog.csdn.net%2Fqq_39560484%2Farticle%2Fdetails%2F80765211) 如果自动化部署没问题,代码在本地也没问题
base: - /srv/salt/pillar [root@zabbix project]# pwd /srv/salt/base/project 2.project目录是我们需要创建自动部署项目所需的文件目录...project 既然有总入口这个init.sls文件,如上的配置文件可以看到还应该有user和project的子配置文件,具体内容如下: [root@zabbix project]# cat user.sls #项目用户...'] }} - group: {{ pillar['user'] }} - mode: 644 [root@zabbix project]# cat project.sls #项目配置...256m -XX:MaxMetaspaceSize=256m -Dfile.encoding=UTF-8 -jar $PROJECT_HOME/$JAR_NAME > nohup.out 2>&1 & 自动创建项目命令如下...: v1代表是服务器,pillar后面的参数是属于key-value形式的参数,user代表项目启动用户,type指定是激spring项目还是tomcat项目,port代表端口,pkg代表包名 salt
1.制定特定扩展的PHP镜像 sudo mkdir -p /www/docker sudo cd /www/docker sudo vi Dockerfile FROM php:7.2-fpm-alpine...zip \ && docker-php-ext-install pdo_mysql \ && docker-php-ext-install opcache \ && docker-php-ext-install...mysqli \ && docker-php-ext-enable mcrypt \ && docker-php-ext-enable imagick \ && docker-php-ext-install...: image: php:7.2-fpm-alpine-dcwd container_name: php7.2 restart: always volumes: - /www...php$ { root /www/default; fastcgi_pass php7.2:9000;#php容器名或者php容器ip fastcgi_index
jenkins安装部署,参见Jenkins安装配置 前置条件 检查是否安装了插件Git plugin和Maven Integration plugin,publish over SSH。...插件安装:系统管理 > 插件管理 > 可选插件,勾选需要安装的插件,点击直接安装或者下载重启后安装 配置全局变量 系统管理 > 全局工具配置 JDK 配置本地JDK的路径,去掉勾选自动安装 ?...JDK配置 Maven 配置本地maven的路径,去掉勾选自动安装 ? Maven配置 其它内容可以根据自己的情况选择安装。 创建项目 创建Maven项目 ?...创建项目 下面是一系列的配置: General设置 选择 丢弃旧的构建,进行设置 ?
1.创作背景 在我们日常做项目的时候,避免不了的一件事就是进行项目的更新部署,如果是windows服务的话,还是没什么苦恼的,但是如果服务器是linux的话,部署系统的时候,每次都需要输入一堆的命令,进出文件目录...,很繁琐,也很浪费时间,有时还需要修改文件里面的配置信息,因为开发环境和正式环境不一样,有时还需要修改文件里面的配置信息,这一切的原因促使我有了一个想法:就是利用批处理帮我实现自动化部署的需求 2.技术简介...内置的call命令调用linux命令的特性,完成了此次脚本的编写 3.脚本实现过程 ①首先需要安装WINSCP,安装过程省略,软件下载地址:,安装完成之后,用这个客户端链接下你的远程服务器,目的是为了执行自动化脚本时就不需要进行密钥的确认...txt是执行过程中创建的日志文件名 执行脚本的命令 执行结果截图 为了方便,我们也可以将这条命令写到批处理中,我们新建一个文件名为auto.bat,打开编辑,输入以下内容,保存之后就可以双击这个bat进行自动化部署...,不需要输入命令了 执行上面的bat 5.结束语 通过这次的学习研究,让重复的工作变成了自动化 ,即提高了效率,又节省了时间。
二、部署流程 1、用户提交代码到Git仓库 2、Jenkins服务器从指定Git仓库拉去代码,使用maven编译打包。...JDK 1.8.0_191 Tomcat 8.5.35 五、实战演练 Ⅰ、新建一个maven项目(没有maven项目选项则需要下载对应插件) ?...Ⅳ、项目构建成功后部署应用服务器的配置 “增加构建后的操作步骤”-->“Send build artifacts over SSH”: ?...Ⅴ、部署应用服务器的自动化shell脚本 #针对 项目 放到 /home下,且指向/home/auto-deploy.sh脚本 #tomcat 路径 TOMCAT_HOME=/home/tomcat8.../startup.sh DATE_N=`date "+%Y-%m-%d %H:%M:%S"` echo $PROJECT_NAME" 最新构建部署时间:${DATE_N}" >> ../..
领取专属 10元无门槛券
手把手带您无忧上云