自己搭建一个gitlab
这里主要用到了jenkins docker-compose 和 gitlab提供的docker镜像来搭建的
安装
本地安装
brew install jenkins-lts
#
brew services start jenkins-lts
brew services restart jenkins-lts
brew upgrade jenkins-lts
记住自己的密匙
#
http://localhost:8080/
服务器安装
docker run -itd -u root -p 8080:8080 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v "$HOME":/home --name jenkins jenkins/jenkins
// jenkinsci/blueocean
#
docker logs jenkins
记住自己的密匙
#
http://公网地址:8080/
配置
基本配置
- 启动并打开自己本地或者服务器
jenkins的网页
# 添加CDN
Manage jenkins => Manage Plugins => Advanced => URL
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json
# 需要安装的必备插件
Authorize Project
GitHub Integration
GitLab
Publish Over SSH
SSH Agent
SSH
SSH Pipeline Steps
#
安装docker-compose
# vim docker-compose.yml
http://xxx:8088/
docker-compose up -d
docker-compose.yml
http://公网地址:8088/users/sign_in
# 1
// 复制 https://github.com/sameersbn/docker-gitlab/blob/master/docker-compose.yml
// 更改以下几行替换成自己的相关信息
gitlab
- GITLAB_HOST=公网地址
- GITLAB_ROOT_PASSWORD=管理员密码
- GITLAB_ROOT_EMAIL=管理员邮箱
ports: //映射端口
- '8088:80'
- '2443:443'
- '2222:22'
# 2.
// 或者直接复制下方
version: '3'
services:
web:
image: 'twang2218/gitlab-ce-zh'
restart: always
hostname: '公网地址'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://公网地址'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
unicorn['port'] = 8888
nginx['listen_port'] = 80
ports:
- '8088:80'
- '2443:443'
- '2222:22'
volumes:
- ./config:/etc/gitlab
- ./data:/var/opt/gitlab
- ./logs:/var/log/gitlab
开启CICD
创建项目
设置
集成
选择 Campfire push evnets // 当push时候触发
取消ssh verification // 没有证书
使用jekins
高级配置
新建任务
jenkins-demo
自由风格
源码管理
构建触发器
//填写到 gitlab 集成 url
build when a change is pushed to gitLab
选中push event
opened merge Request events
approved merge request(ee-only)
comments
comment for triggering a build
Jenkinsfile
pipeline {
agent {
docker {
image 'node:10'
args '-p 20000:8080'
}
}
stages {
stage('Build') {
steps {
echo 'Building..'
sh 'node -v'
sh 'echo "hello"'
}
}
stage('Test') {
steps {
echo 'Testing..'
}
}
stage('Deploy') {
steps {
echo 'Deploying....'
}
}
}
}
端口问题
// jenkins 和 gitlab在一个服务器上
管理中心
设置
网络
外发请求
选中 allow requests ...
版权声明:本文为weixin_44457030原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。