配置gitlab自动部署

一.安装gitlab runner

进入到服务器根目录
下载runner,根据自己对应服务器的型号自行选择下载:

# Linux x86-64
 sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

 # Linux x86
 sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386

 # Linux arm
 sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm

下载完之后,需要给gitlab-runner执行权限,

sudo chmod +x /usr/local/bin/gitlab-runner

之后创建一个gitlab-runner用户,之后使用CI/CD时,都是在这个用户下进行的。

sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

创建好了用户之后,接下来安装gitlab-runner

sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner

安装成功以后,启动gitlab-runner

sudo gitlab-runner start

注册使用gitlab-runner
首先找到自己的gitlab项目下设置,CI/CD,Runner
在这里插入图片描述
可以看到如下:
在这里插入图片描述
URL,和注册令牌一会在注册runner的时候需要用到,

在自己的runner服务器上,输入如下命令,开始注册runner:

gitlab-runner register

在这里插入图片描述
上面这里,红框,填写刚刚上面看到的URL

回车后,输入URL下面的gitlab-ci token
在这里插入图片描述
输入完token后,回车
在这里插入图片描述
填写runner描述,这里自己填写
在这里插入图片描述
之后填写runner的tags,用于在之后CI/CD操作时标识使用哪个runner来进行流水线
在这里插入图片描述
之后选择需要以哪种方式运行runner,这里我选择用shell方式运行runner,大家可以自行根据自己需要选择
在这里插入图片描述
到此,runner就注册完毕了。可以到gitlab上看下,刚刚注册的runner是否存在
在这里插入图片描述
可以看到,这里就是我们刚刚注册的runner。

二,编写.gitlab-ci.yml文件

stages:
  - build

variables:
  DEPLOY_PATH: "部署路径" 

# cache:
#   paths:
#     - node_modules/

build-job:
  stage: build
  script:
    - cp -r $CI_PROJECT_DIR/* $DEPLOY_PATH
    - cd $DEPLOY_PATH                                          # 进入代码目录
    #- npm install
    - npm run build                                                # 打包构建
    #- cp -r $CI_PROJECT_DIR/dist/* $DEPLOY_PATH                    # 将打包完成的文件复制到部署路径
    - sudo nginx -s reload                                         # 重启Nginx
  tags:
    - ttedu_admin                                                 # gitlab-runner tag
  only:
    - master                                                       # 允许部署的分支
  environment:
    name: prod                                                     # 环境名称

配置完成后,将文件放置gitlab前端代码根目录即可

参考文档:https://blog.csdn.net/weixin_33938733/article/details/91460860

Gitlab CI permission denied
1.添加权限。

$ groups gitlab-runner
> gitlab-runner : gitlab-runner
 
$ sudo usermod -a -G root gitlab-runner
 
$ sudo groups gitlab-runner
> gitlab-runner : gitlab-runner root

2.更改用户
https://www.cnblogs.com/bafeiyu/p/12538861.html

sudo: no tty present and no askpass program specified 解决方法
sudo: no tty present and no askpass program specified



由于帐号并没有开启免密码导致的 



假设当前帐号为abc

切换到root下  



1    打开sudoers

vi /etc/sudoers

2    添加免密码

abc ALL = NOPASSWD: ALL

猜你喜欢

转载自blog.csdn.net/HelloWorldLJY/article/details/122866684