git
- 安装相关依赖
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
- 删除自身环境已有git
$ yum remove git
- 下载git的tar包,到/usr/local/src/ 目录下面
$ wget https://www.kernel.org/pub/software/scm/git/git-2.8.3.tar.gz
- 解压tar包
$ tar -zxvf git-2.8.3.tar.gz
- 编译
$ make prefix=/usr/local/git all
- 安装git至
/usr/local/git路径
$ make prefix=/usr/local/git install
- 配置环境变量
$ vi /etc/profile
export PATH=$PATH:/usr/local/git/bin
$ source /etc/profile
- 测试
$ git --version
gitlab
- gitlab 镜像拉取
# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
$ docker pull gitlab/gitlab-ce
- 运行gitlab镜像
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
$ docker run \
-d \
-p 443:443 \
-p 80:80 \
-p 222:22 \
--name gitlab \
--restart always \
--privileged=true \
-v /data/gitlab/config:/etc/gitlab \
-v /data/gitlab/logs:/var/log/gitlab \
-v /data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
- 配置 - 修改gitlab.rb文件
$ vim /data/gitlab/config/gitlab.rb
external_url 'http://192.168.199.231'
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222
:wq
- 重启gitlab容器
$ docker restart gitlab
gitlab-runner
# 注册
$ gitlab-runner register \
.gitlab-ci.yml
stages:
- build
- package
# 构建 Job
build:
stage: build
tags:
- build
script:
- echo "=============== 开始编译构建任务 ==============="
- mvn compile
# 打包
package:
stage: package
tags:
- build
script:
- echo "=============== 开始打包任务 ==============="
- mvn package -Dmaven.test.skip=true
- chmod a+x ./scripts/build/test.sh
- ./scripts/build/test.sh
- echo "=============== 执行结束 ==================="
stages:
- deploy
deploy:
stage: deploy
tags:
- deploy
script:
- mvn clean package
- sudo docker build . -t blast:latest
- sudo docker stop blast_image || true
- sudo docker rm blast_image || true
- sudo docker run --name blast_image -p 8090:8090 -d blast:last
gitlab-runner 提示无权限问题
ps aux|grep gitlab-runner #查看当前runner用户
sudo gitlab-runner uninstall #删除gitlab-runner
gitlab-runner install --working-directory /home/gitlab-runner --user root #安装并设置--user(例如我想设置为root)
sudo service gitlab-runner restart #重启gitlab-runner
ps aux|grep gitlab-runner #再次执行会发现--user的用户名已经更换成root了