当前位置: 首页 > news >正文

网站建设公司网站建设公司银川哪里做网站

网站建设公司网站建设公司,银川哪里做网站,小企业销售管理软件,wordpress安卓客户端目录 1. 说明 2. 资源要求 3. 安装 4. 配置实践 4.1 服务器 4.2 人员与项目 4.2 部署准备 4.2.1 访问变量及用户账号设置 4.2.2 Runner设置 4.2.3 要点 5. 应用项目 CI/CD 6. 参考 1. 说明 gitlab是一个强大且免费的代码管理/部署工具,能统一集成代码仓…

目录

1. 说明

2. 资源要求

3. 安装 

4. 配置实践

4.1 服务器

4.2 人员与项目

4.2 部署准备

4.2.1 访问变量及用户账号设置

4.2.2 Runner设置

4.2.3 要点

5. 应用项目 CI/CD

6. 参考


1. 说明

    gitlab是一个强大且免费的代码管理/部署工具,能统一集成代码仓库,CI/CD的工作。开始时我以为只能在官网上使用,后来才知道能私有化部署,确实了不起。

原理图:

2. 服务器

    gitlab资源要求比较高,建议8核16G,目前我的虚拟机是分配了5核12G,要是工作负荷上来,还要划拨资源。

ServerIP配置备注
host001.dev.ia192.168.0.1305核/12G/200G硬盘Gitlab服务器 / Gitlab Runner工作站 / 开发服务器1
host002.dev.ia192.168.0.1312核/4G/200G硬盘开发服务器2

在各自的 /etc/hosts 做上述设定

3. 安装 

docker-composer方式,指定外部访问url为 http://host001.dev.ia:18181

gitlab.yml

version: "3.5"services:web:image: 'gitlab/gitlab-ce:latest'container_name: gitlabrestart: alwayshostname: 'gitlab.dev.ia'environment:GITLAB_OMNIBUS_CONFIG: |external_url 'http://host001.dev.ia:18181'# Add any other gitlab.rb configuration here, each on its own lineports:- '18181:18181'- '2222:22'volumes:- '/data0/Server/Settings/gitlab:/etc/gitlab'- '/data0/Server/Logs/gitlab:/var/log/gitlab'- '/data0/Server/Db/gitlab:/var/opt/gitlab'shm_size: '256m'

安装后进去容器设置管理员(root)密码

gitlab-rails console -e productionirb> user = User.where(id: 1).first
irb> user.password = 'xxx'
irb> user.password_confirmation = 'xxx'
irb> user.save!

4. 配置实践

4.1 人员与项目

进入管理后台,建立两个开发组,3名用户成员 (Regular Member权限,配置ssh公钥),两个团队项目, 每个项目分别建    dev / staging / live 分支,检查 pull & push是否正常

GroupMemberProjectBranch
Dev1ben, developer1Team1 Prj1dev / staging / live
Dev2ben, developer2Team2 Prj1dev / staging / live

如图:

4.2 部署准备
4.2.1 访问变量及用户账号设置

- 在gitlab服务器,因为docker化安装的,需映射ssh访问端口 22 => 2222

- 用工具生成deployer密钥,然后用管理员账号登录gitlab后台: 

-- 配置deployer私钥变量

    Admin Area => Settings => CI/CD => Variables, 定义 SSH_PRIVATE_KEY,用deployer的私钥填充,将在.gitlab-ci.ym里使用。(注:去掉默认的Protect variable勾选,不然部署时会出现“Error loading key "(stdin)": error in libcrypto”问题)

-- 配置仓库访问公钥, 可选择添加:公共的部署公钥或项目部署公钥(2选1)

A 公共公钥:Admin Area => Deploy Keys,然后在项目Deploy keys中enable之

B 项目公钥:切换到项目 Settings => Repository => Deploy keys,添加deployer的Privately keys并且enable,使得deployer用户可访问代码仓库

- 在部署服务器建deployer账号,分配密钥,目录访问权限,脚本:

adduser deployer
setfacl -R -m u:deployer:rwx /www/wwwroot# 为解决安全及读写权限问题,把deployer添加到www组,把www加到deployer组
usermod -aGwww deployer
usermod -aGdeployer www# 建立密钥文件, 通过vi把该用户的密钥加上
mkdir -p /home/deployer/.ssh && touch /home/deployer/.ssh/authorized_keys && touch /home/deployer/.ssh/id_rsa && touch /home/deployer/.ssh/configchmod 700 /home/deployer/.ssh && chmod 600 /home/deployer/.ssh/id_rsa && chown deployer:deployer -Rf /home/deployer/.ssh

- 为了ssh能正确访问git仓库(端口映射),需编辑 /home/deployer/.ssh/config

Host host001.dev.iaUser gitHostname host001.dev.iaPort 2222Preferredauthentications publickeyIdentityFile ~/.ssh/id_rsaTCPKeepAlive yesAddKeysToAgent yes

 完成后用deployer登录目标机器,测试是否能连接gitlab, 克隆仓库

ssh -T git@host001.dev.iagit clone git@host001.dev.ia:dev1/team1-prj2.git
4.2.2 Runner设置

Runner 所处位置图: 通过Runner工作组,根据脚本进行构建与分发

用root账号登陆,在管理面板(Admin Area)=> CI/CD => Runners页上建Runner,它实际上是个运行代理器,让工作机的关联进来,通过定义tag来调配对应的运行器完成任务,这里我定义了一个php的runner

gitlab在项目管理中提供了Pipeline editor工具,可以在不同分支定义一个.gitlab-ci.yml文件,记叙CI/CD步骤与详细内容,当用户提交并推送代码时触发过程

工作机安装gitlab-runner客户端, 脚本 gitlab-runner-install.sh

#!/bin/bash# Download the binary for your system
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64# Give it permission to execute
sudo chmod +x /usr/local/bin/gitlab-runner# Create a GitLab Runner user
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash# Install and run as a service
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start

注册runner

gitlab-runner register  --url http://host001.dev.ia:18181  --token glrt-HfgiG84kn28NvU69stkh- 选择shell类型gitlab-runner run# 其他相关命令
gitlab-runner list
gitlab-runner unregister --all-runners
gitlab-runner unregister  --url http://host001.dev.ia:18181  --token glrt-ABh3NZLwxomjSk6szHbz
4.2.3 要点

- 在gitlab文档中,是没有提及给gitlab-runner账号配deployer私钥的,当用giltlab-runner账号在终端进行手动测试时,需把deployer的id_rsa拷贝过去 gitlab-runner/.ssh目录下。

5. 应用项目 CI/CD

请关注后续序列文章

6. 参考

- Use SSH keys to communicate with GitLab | GitLab

- .gitlab-ci.yml 配置 · PHP/Python/前端/Linux 等等 学习笔记 · 看云

- gitlab runner tag - 简书

- https://dev.to/techworld_with_nana/gitlab-cicd-for-beginners-free-course-2mee

http://www.yayakq.cn/news/426881/

相关文章:

  • 桂林网站开发m0773菏泽网站建设公司排名
  • 福州外贸建站门户网站素材
  • 网站建设公司自贡备案网站ip地址
  • 商务网站建设实验记录苍南网站设计公司
  • 服务器网站托管成都网页制作培训
  • 做影视网站对服务器要求wordpress 主页布局
  • 上海备案证查询网站查询网站查询谷歌浏览器中文手机版
  • 案例网站有哪些建个商城网站需要多少钱
  • 网站毕业设计选题营销加盟网站建设
  • 建设工程材料信息价查什么网站智慧团建注册入口
  • 美工网站设计网络营销典型企业
  • 网站做网站反向代理违法安徽有几家做网站
  • 绿色电器公司网站psd模板网站优化的方式有哪些
  • 安徽建筑大学学工在线网站网站建设论文 php
  • 网站后台设计培训学校外包加工平台
  • 千户微建站平台wordpress 中文 模板下载
  • wordpress仿站价格响应式网站模板怎么做
  • 宁波做网站优化的公司移动分销系统代理
  • php+mysql网站开发技术与典型案例导航【源代码】广州网站建设网站推广
  • 龙华高端网站设计中山模板建站公司
  • 做网站桂林wordpress优化提速
  • 住房和城乡建设部网站行标编程是学什么东西的
  • 建设官方网站怎么登录全国企业工商信息查询官网
  • 建设网站需要几部分优化营商环境心得体会1000字
  • 封装系统如何做自己的网站重庆网络营销网站建设销售
  • 潍坊最早做网站的公司wordpress添加logo
  • 张店网站建设价网站备案查询不了
  • 做公众号封面网站2023北京又开始核酸了吗今天
  • 东莞皮具网站建设网络舆情监测适合女生嘛
  • 上海网站推广模板宁波seo外包公司