服务器学习心得


gitlab部署、开发流程

<h2>gitlab安装服务器配置要求</h2> <ul> <li>建议2核CPU,4G以上内存</li> <li>如果配置比较低,运行会比较慢</li> </ul> <h2>gitlab安装方式</h2> <ul> <li> <p>rpm安装</p> <pre><code class="language-shell"># 1-设置yum源 # 2-yum安装 # 3-重新加载配置: gitlab-ctl reconfigure # 4-查看状态 gitlab-ctl status</code></pre> </li> <li> <p>docker安装(主流安装方式)</p> <pre><code class="language-shell"># 创建目录 mkdir /opt/gitlab # 数据持久化目录 GITLAB_HOME = /opt/gitlab # 启动镜像 docker run --detach \ --hostname gitlab.ctnrs.com \ --publish 443:443 --publish 80:80 --publish 2222:22 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/gitlab \ --volume $GITLAB_HOME/log:/var/log/gitlab \ --volume $GITLAB_HOME/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest</code></pre> </li> </ul> <h2>运维者使用流程</h2> <ul> <li>创建用户</li> <li>创建群组</li> <li>在群组里创建项目</li> <li>群组邀请成员</li> </ul> <h2>开发者使用流程</h2> <ul> <li>克隆版本库</li> <li>配置使用者</li> <li>新建开发分支</li> <li>将本地代码推送到远程服务器</li> <li>获取别人提交的最新代码</li> </ul> <h2>Gitlab 备份与恢复</h2> <ul> <li> <p>手动备份</p> <pre><code class="language-shell"># 备份数据 gitlab-rake gitlab:backup:create # 备份配置文件 gitlab-ctl backup-etc</code></pre> </li> <li> <p>自动备份</p> <pre><code class="language-shell">crontab -l * * * * * docker exec -it gitlab gitlab-rake gitlab:backup:create * * * * * docker exec -it gitlab gitlab-ctl backup-etc</code></pre> </li> <li> <p>策略建议</p> <ul> <li>本地保留7天,异地备份永久保存</li> </ul> </li> </ul> <h2>自动清理</h2> <pre><code class="language-shell">vim /etc/gitlab/gitlab.rb gitlab_rails['manage_backup_path'] = true gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" gitlab_rails['backup_keep_time'] = 604800</code></pre> <h2>数据迁移/恢复大致流程</h2> <ul> <li>在新服务器上安装相同版本的Gtilab</li> <li>将备份文件发送到新服务器的相同目录下,即备份目录</li> <li>停止数据处理服务,防止再写库</li> <li>使用gitlab-rake恢复数据</li> <li>手动恢复配置文件</li> <li>访问验证</li> </ul> <h2>Gitlab CI/CD 介绍</h2> <ul> <li> <p>持续集成(Continuous Integration,CI)</p> <ul> <li>代码合并、部署、自动化测试都在一起,不断地执行这个过程,并对结果反馈。</li> </ul> </li> <li> <p>持续交付(Continuous Delivery,CD)</p> <ul> <li>是一种软件工程方法,让软件的产出过程在一个短周期内完成,以保障软件可以稳定、持续的保持在随时可以发布的状态。</li> <li>与持续集成相比,持续交付偏重点在于可交付的产物。</li> </ul> </li> <li> <p>持续部署(Continuous Deployment,CD)</p> <ul> <li>通过自动化部署的手动将软件频繁的交付,部署到期望的环境。</li> </ul> </li> </ul> <h2>使用Gitlab CI/CD分为三步</h2> <ul> <li>安装Runner</li> <li>注册Runner</li> <li>编写流水线脚本</li> </ul>

页面列表

ITEM_HTML