gitlab类似于github

首先从docker hub上下载镜像

docker pull gitlab/gitlab-ce

运行gitlab容器

sudo docker run --detach \
  --hostname 172.28.3.165 \
  --publish 8443:443 --publish 80:80 --publish 822:22 \
  --name gitlab \
  --restart always \
  --volume /ocean/gitlab/config:/etc/gitlab \
  --volume /ocean/gitlab/logs:/var/log/gitlab \
  --volume /ocean/gitlab/data:/var/opt/gitlab \
   gitlab/gitlab-ce

 

为了做持续集成,我们安装gitlab-runner

sudo docker run -d --name gitlab-runner  --restart always  -v /ocean/gitlab-runner/config:/etc/gitlab-runner   -v /var/run/docker.sock:/var/run/docker.sock  gitlab/gitlab-runner:latest

配置gitlab-runner,按照提示填即可

sudo docker exec -it gitlab-runner gitlab-ci-multi-runner register

 

提前部署好我们的站点

docker run  --name ihostel -d -p 8001:80 -v /ocean/www/ihostel/:/wwwroot -w /wwwroot/ microsoft/dotnet dotnet /wwwroot/Ascend.iHostel.NetCoreMVC.Web.dll

 

记录一下gitlab的脚本

image: oceanheyang/dotnet:2.2

stages:
    - deploy
    
variables:    
    HOST: ${HOST}
    USERNAME: ${USERNAME}
    PROJECT: "ihostel"
    PUBLISHER: "bin//release//netcoreapp2.1//publish//"
    REMOTEDIR: "/ocean/www/$PROJECT/"
    BAKDIR: "/ocean/bak/$CI_JOB_ID"
    PROJECTFOLDER: "Ascend.FrameworkCore.Example.Web"
    

before_script:
  - mkdir ~/.ssh
  - echo "StrictHostKeyChecking no" >> ~/.ssh/config
  - export SSHPASS=${PASSWORD}
  
deploy:
    stage: deploy
    tags: 
        - r
    script:  
    
        - cd $PROJECTFOLDER
        - dotnet publish -c release

        - sshpass -e ssh $USERNAME@$HOST "rm -r -f $REMOTEDIR"
        
        - cd $PUBLISHER
      
        - sshpass -e rsync -avz --exclude='.git' --exclude='.gitlab-ci.yml' . $USERNAME@$HOST:$REMOTEDIR

        - sshpass -e ssh $USERNAME@$HOST 'docker restart ihostel'




 

 

 

顺便记录一下wiki系统的安装

docker run -d -p 8000:80 --name wiki \
    -v /ocean/dokuwiki/data:/dokuwiki/data \
    -v /ocean/dokuwiki/conf:/dokuwiki/conf \
    -v /ocean/dokuwiki/lib/plugins:/dokuwiki/lib/plugins \
    -v /ocean/dokuwiki/lib/tpl:/dokuwiki/lib/tpl \
    -v /ocean/dokuwiki/logs:/var/log \
    mprasil/dokuwiki



Leave a Reply