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

戴举龙 2017-03-24
共发表 5 篇文章

项目基本情况

  1. 代码托管:coding.net

简单个人项目,代码不方便公开但又不愿意付费使用GitHub的私有项目服务。

  1. 服务器: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分支造成线上项目出现问题。

部署后续操作(请视情况自行处理):

  1. apache或nginx 添加一个虚拟主机并指向该项目目录或其子目录(具体看项目要求)
  2. 设置文件或目录权限(一般项目会有部分文件或目录需要写入权限)
  3. 项目的其他要求
  • 没有任何评论
回复 @abc
登录后才可发表评论 | 登录