多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
原来一直使用FileZilla来代码部署,去年使用git,代码版本管理,真TM好用,一起回顾下历程! 一. 代码部署方式及思路: 1. 使用FTP/SFTP工具,上传代码 2. git人工部署。1. 开发人员本地 - git push ->[github](https://so.csdn.net/so/search?q=github&spm=1001.2101.3001.7020)/gitee 2. 使用ssh终端登录服务器 git pull -> 服务器 3. git自动化部署。开发人员本地 -git push -> 服务器[ssh](https://so.csdn.net/so/search?q=ssh&spm=1001.2101.3001.7020)\- hooks -> git checkout -f --> 更新代码 二. 自动化部署实现细节 1. 请先安装git,linux参见git官网: [https://git-scm.com/download/linux](https://git-scm.com/download/linux) 2. 为了安全起见,新建一个专门用于代码部署的无特权用户 (1)  useradd -m deployuser (2) passwd deployuser(不建议不设置密码) 3. 此后分为两种情况:3.1代表初始化一个新项目  3.2 代表初始化一个已有项目 3.1. (1) 新建一个目录作为要部署代码的根目录,如: mkdir /home/deploy (2) 将新建目录的所有者和组权限改为上述的 deployuser chown -R deployuser:deployuser /home/deploy (3)  初始化git仓库 cd /home/deploy git init (4) 让仓库接受代码提交 git config receive.denyCurrentBranch ignore (5) 设置服务器更新钩子. cd .git/hooks mv post-receive.sample post-receive(如没有post-receive.sample文件,不要在windows下创建,否则有可能不成功,而应该mv post-update.sample post-update,把post-update) vi post-receive(或使用最low的办法本地编辑ftp上传) 替换为一下 #!/bin/sh unset GIT\_DIR cd .. git checkout -f (6) 授予post-receive可执行权限 chmod +x post-receive (7) 添加公钥,把每个人的公钥收集起来放到服务器的/home/git/.ssh/authorized\_keys文件里就是可行的 服务器ssh访问地址是:ssh://deployuser@ipaddress/home/deploy/.git   (ipaddress:服务器ip地址 ) (8) 回到本地仓库,克隆服务器git仓库 git clone deployuser@ipaddress/home/deploy/.git (9) 修改文件,上传,就可以为所欲为了。。 git add . -> git commit -m "modify" -> git push -> 查看服务器是否已同步,且修改了工作区 end Git push 提交代码到远程global user.name错误解决办法 问题:安装了Git-1.9.4-preview和TortoiseGit等工具后,Git服务器开通了账号和密码并配置了邮箱.克隆了服务器代码到本地,按需求进行代码开发.提交本地代码到服务器时出现错误.具 ... IntelliJ IDEA自动部署项目至远程服务器与传统部署项目至远程服务器的区别 每次开发Java项目时,对于所有Java开发人员来说,最枯燥的不是修改代码,而是实时将自己的代码上传至远程服务器,进行测试或者部署,本人最初开发也是这样,通过使用Xshell 5,WinSCP等工具对 ... 【git】提交代码到远程仓库 看完不用,就是一个字:忘! 之前学了两天git结果今天要用的时候,啥也想不起来.... 场景: 已有远程仓库: git@192.168.1.1:test/test.git 要提交代码到远程仓库的新分支 ... Git提交代码到远程服务器 1.下载Git 不用说了,这个是必须的,也是最简单的步骤,地址如下: http://git-scm.com/download 这里会提供三个版本的下载地址,读者可以自行查找. 2.创建代码库 远程的代 ... git hook部署代码 git 提供了钩子功能,当某个操作发生时,可以执行某个动作. ftp上传时没有文件比较,虽然可以winscp提供了同步功能但是不够强大,而且文件多了,会花费比较长的时间. 1.先在主机上搭建一个git ... 使用Git上传代码到远程仓库 1.进入文件夹,cd f:/test/ 2.初始化远程仓库,git init 3.添加代码,git add . (注意add后面的点前面有一个空格) 4.提交代码到远程仓库,git commit -m ... 部署webservice到远程服务器 在本地编写好webservice后并在本机验证正确后,在本地发布后,直接将发布时设置的文件夹复制到远程服务器上,在远程服务器的IIS上默认网站->新建虚拟目录->设置别名->物理路径 ... 使用IDEA部署项目到远程服务器 1.选择Tools -> Deployment -> Configuration... 2.配置连接信息,Linux服务器一般都选择SFTP 3.配置本地上传文件路径.远程上传文件路径 4 ... 一键部署启动MySQL数据库服务器 https://market.azure.cn/Vhd/Show?vhdId=9858&version=14359 产品详情 产品介绍MySQL是一个真正的多用户.多线程SQL数据库服务器.S ... 随机推荐 Java中将一个字符串传入数组的几种方法 String Str="abnckdjgdag"; char a\[\]=new char\[Str.length()\]; -------------------方法1 用于取出字符串的 ... oracle并行模式(Parallel) 1.  用途 强行启用并行度来执行当前SQL.这个在Oracle 9i之后的版本可以使用,之前的版本现在没有环境进行测试.也就是说,加上这个说明,可以强行启用Oracle的多线程处理功能.举例的话,就 ... Buns(dp+多重背包) C. Buns time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ... C# / MSSQL / WinForm / ASP.NET - SQLHelper中返回SqlDataReader数据 /// /// Execute a SqlCommand that returns a resultset against the database specified ... C++primer 9.49 题目:如果一个字母延伸到中线之上,如d或f,则称其有上出头部分(ascender).如果一个字母延伸到中线之下,如p或g,则称其有下出头部分(descender).编写程序,读入一个单词文件,输出最长 ... WebApi的多版本管理 1.多版本管理概念 什么是API的多版本问题?Android等App存在着多版本客户端共存的问题:由于早期没有内置升级机制,用户不会升级,拒绝升级等原因,造成了许多软件的旧版本App也在运行.开发新版 ... loadrunner脚本函数讲解 一. get请求和post请求区别:web_link(get).web_submit_form(post)依赖上下文,web_url.web_submit_data不依赖上下文,建议使用web_url ... T-2-java面向对象 一.类 类对象的数据结构定义,方法是对象的行为. 类是数据类型. 一个类可以创建多个对象,这多个对象结构相同,数据不同. 类中可以包含:(1)成员变量(对象的共同特征,静的):(2)方法(对象的共同行 ... Day15 Python基础之logging模块(十三) 参考源:http://www.cnblogs.com/yuanchenqi/articles/5732581.html logging模块 (****重点\*\*\*) 一 (简单应用) import lo ... centos7.2环境中kettle环境搭建及任务推送配置详解 目标:将mysql5.5中testdb1的ehr_user表推送到tdoa的ehr_user表中,为避免不必要的麻烦,两张表结构.编码,包括数据库编码保持一致 操作系统:centos7.2 kettl ...