安装配置
一.安装gitlab步骤
1.查看ubuntu的版本
root@ubuntu:~# uname -a
Linux ubuntu 5.4.0-77-generic #86~18.04.1-Ubuntu SMP Fri Jun 18 01:23:22 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
2.官网推荐安装,要保证网络环境正常
sudo apt-get update
sudo apt install ca-certificates curl openssh-server postfix
#以上命令,是下载最新版本的GitLab,如果不想安装最新版本,需要自己下载相关版本的rpm安装包,然后进行命令行安装。
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
#安装GitLab
sudo apt-get install gitlab-ce #社区版 (CE) /企业版 (EE)
安装完成会显示gitlab界面
3.配置与启动
vim /etc/gitlab/gitlab.rb #修改external_url,改成你要访问的url地址,以及配置邮箱
external_url 'http://192.168.31.148:4567'
......
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_email_from'] = 'xxxxxx@163.com'
......
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxxxxx@163.com"
gitlab_rails['smtp_password'] = "111111" # 客户端授权密码
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
......
user["git_user_email"] = "xxxxxx@163.com"
gitlab-ctl reconfigure #要修改配置文件就要重新配置
gitlab-ctl status #查看运行状态
gitlab-ctl start #如果run正常,则成功,否则通过命令行启动gitlab
#其他命令
gitlab-ctl stop #停止 GitLab
gitlab-ctl restart #重启 GitLab
gitlab-ctl tail #查看所有日志
gitlab-ctl tail nginx/gitlab_acces.log #查看 nginx 访问日志
gitlab-ctl tail postgresql #查看 postgresql 日志
sudo systemctl enable gitlab-runsvdir.service #设置GitLab开机自启动命令
sudo systemctl disable gitlab-runsvdir.service #禁止GitLab开机自启动命令
4.web界面访问
http://192.168.31.148:4567
初次访问Web页面会强制让你改密码,修改完密码后重新登录就可以
5.重置root的登录密码
如果忘记了登录密码,可以通过配置去修改
[root@localhost ~]# gitlab-rails console production
Loading production environment (Rails 5.2.3)
irb(main):001:0> user = User.where(id: 1).first #需要提前查询用户的id号
=> #<User id:1 @root>
irb(main):002:0> user.password = '12345678'
=> "root@123"
irb(main):003:0> user.password_confirmation = '12345678'
=> "root@123"
irb(main):004:0> user.save!
gitlab查询用户id的方法
1.访问接口查:http://192.168.31.148:4567/api/v4/users?username=root
2.在命令行查
[root@localhost ~]# curl http://192.168.31.148:4567/api/v4/users?username=root
二.安装并注册gitlab-runner
1. 安装gitlab-runner
# For Debian/Ubuntu/Mint
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | sudo bash
sudo apt-get install gitlab-runner
apt-cache madison gitlab-runner
sudo apt-get install gitlab-runner
sudo gitlab-runner run #启动Runner
# For RHEL/CentOS/Fedora (centos系统就用这个)
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
sudo yum install gitlab-runner
yum list gitlab-runner --showduplicates | sort -r
sudo yum install gitlab-runner
sudo gitlab-runner run
2.第一个注册的runner用的是shell的执行器
sudo gitlab-runner register
# 接下来会要求填入url和token:项目-设置-CI/CD-Runner展开复制url和token粘贴过来
# 执行器选择shell
sudo gitlab-runner start
# 此时gitlab-runner就配置完成了,代码库中有push就会触发持续集成
有一个注意的地方,按以上配置完成后,流水线跑起来的时候可能会报错
这个需要去修改下配置文件,etc/gitlab-runner
的config.toml
文件添加一条clone_url
指定路径
成功后日志
3.第二个注册的runner用的是docker的执行器
3.1先在ubuntu上安装docker环境
#1.更新ubuntu的apt源索引
sudo apt-get update
#2. 安装包允许apt通过HTTPS使用仓库
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
#3. 添加Docker官方GPG key
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
#4. 设置Docker稳定版仓库
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
$(lsb_release -cs) \
stable"
#5. 添加仓库后,更新apt源索引
sudo apt-get update
#6. 安装最新版Docker CE(社区版)
sudo apt-get install docker-ce
#7. 启动docker服务
systemctl start docker
systemctl status docker
systemctl enable docker #设置开机启动
#8. 检查Docker CE是否安装正确
sudo docker run hello-world
卸载docker
sudo apt-get remove docker docker-engine docker.io containerd runc #卸载旧版本
sudo apt-get purge docker-ce #删除安装包
sudo rm -rf /var/lib/docker #删除镜像、容器、配置文件等内容:
3.2 docker安装python的环境
- 下载python3.9.6的镜像
docker pull python:3.9.6
- 检查下载的镜像
docker image ls
- 运行容器
docker run -p 8000:8000 -i -t -v /data/www/:/www python:3.9.6 /bin/bash
-p 参数表示发布端口号到主机,
-i -t 或者 -it 表示交互式容器,
-v /data/www/:/www 表示把主机上/data/www目录映射到容器的/www目录下。
交互模式下,使用exit即可退出,
如果想让容器一直运行,则可以添加-d参数。
root@ubuntu:~# docker run -p 8000:8000 -i -t -d -v /data/www/:/www python:3.9.6 /bin/bash
e21ad1ec196836fb61aea72a1b811376312d935c152b7d17eb425b8e8015da02
root@ubuntu:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e21ad1ec1968 python:3.9.6 "/bin/bash" About a minute ago Up About a minute 0.0.0.0:8000->8000/tcp vigorous_wescoff
root@ubuntu:~# docker stop e21ad1ec1968
e21ad1ec1968
root@ubuntu:~# docker run -p 8000:8000 -i -t -v /data/www/:/www python:3.9.6 /bin/bash
root@f292060243d7:/# cd /www
root@f292060243d7:/www# python3
........交互模式下运行python
root@f292060243d7:/www#
启动容器:docker run <参数>
停止容器:docker stop <参数>
查看容器:docker ps
删除容器:docker rm <容器>
查看镜像: docker image ls
删除镜像:docker image rm <镜像>
#删除镜像可以使用镜像名,即<仓库名>:<标签>
3.3注册一个执行器是docker的runner
流水线跑成功