部署个人项目 - Coding托管代码并部署到服务器

共发表 5 篇文章
项目基本情况
- 代码托管:coding.net
简单个人项目,代码不方便公开但又不愿意付费使用GitHub的私有项目服务。
- 服务器:Linux (Ubuntu16.04)
已搭建好Lamp环境并安装好Git。
部署方式
git 手工部署,因服务器生产环境中的代码只需要从远端拉取而不应允许修改提交,所以需要限制权限为“只读”,可使用coding项目中提供的部署公钥功能。
安装配置过程
为方便演示,以下服务器操作已切换为root用户
1、服务器检查并生成密钥(SSH KEY)
- 检查是否已有密钥
ls -al ~/.ssh
- 如无,则生成(注意后面改为自己的邮箱)
ssh-keygen -t rsa -C "daijulong@gmail.com"
后续需要输入的内容(三处)可直接按回车使用默认设置。
再次查看已可以看到密钥文件,整个过程如下图所示:
其中 id_rsa.pub 为公钥
2、设置coding中的部署公钥
- 打开项目,依次点击“设置”、“部署公钥”、“新建部署公钥”
- 填入公钥内容,注意下面的“授予推送权限”不要勾选
- 点“添加”并按指示输入登录密码后,即可成功添加一个“只读”的密钥。
3、部署代码
进入服务器的项目目录,当前演示目录为"/data/deploy-demo"
- 初始化git
git init
- 获取远程仓库地址,远程仓库地址可在coding项目的“代码”、“代码”中查找,如下图所示,注意需要选择“SSH”的地址。
- 添加远程仓库
git remote add origin git@git.coding.net:daijulong/deploy-demo.git
- 拉取代码
git pull origin master
如下图所示,已将最新代码拉取到服务器项目目录中(虽然仅有一个演示用的index.html)
以上仅介绍部署代码的相关操作。
项目开发
项目后续开发过程中,应保持master分支为需要部署的状态,平时修改或添加功能,应新建分支,待开发测试完成后,合并至master分支,并进入服务器进行“git pull origin master”操作。个人不建议用git的hook机制自动部署代码,尤其是多人开发时,以防止他人直接提交至master分支造成线上项目出现问题。
部署后续操作(请视情况自行处理):
- apache或nginx 添加一个虚拟主机并指向该项目目录或其子目录(具体看项目要求)
- 设置文件或目录权限(一般项目会有部分文件或目录需要写入权限)
- 项目的其他要求
- 没有任何评论