ubuntu21.10搭建jenkins和gitlab自动化部署环境
镜像下载、域名解析、时间同步请点击阿里云开源镜像站
前置环境: vmware pro 16 + ubuntu21.10
安装gitlab
搭建ssh远程
- 打开终端
sudo apt-get install openssh-server
- 启动ssh
sudo /etc/init.d/ssh start
- 查看ip地址
ip addr show
- 使用终端工具连接
ssh xxx@ip
更新apt源
sudo apt-get update
安装邮件服务器
sudo apt-get install -y postfix
选择Internet Site一直往下执行
配置镜像路径
sudo vim /etc/apt/sources.list.d/gitlab-ce.list
# 写入镜像地址
deb https://mirrors.aliyun.com/gitlab-ce/ubuntu/ xenial main
安装gitlab
sudo apt-get update
sudo apt-get install gitlab-ce
执行gitlab配置
sudo gitlab-ctl reconfigure
# 启动gitlab
sudo gitlab-ctl start
# 修改gitlab默认端口
sudo gedit /etc/gitlab/gitlab.rb
# 将external_url 'http://gitlab.example.com'修改为本机ip+端口号
external_url = 'http://ip:port/'
# 重新配置一下
sudo gitlab-ctl reconfigure
如果不出意外,可以看到

有意外也不怕,自行google(doge), 在搭建成功后,不知道初始的账号和密码是多少,搜了一下,可以使用 gitlab-rails console -e production 进到gitlab的数据库中, 然后通过以下步骤可以知道gitlab的初始账号时root,密码可以自己重新设置
# 查看User中的所有用户
$ User.all
# 查找root用户, 并设置一个user变量并赋值
$ user=User.where(id:1).first
# 设置密码
$ user.password='xxx'
# 确认密码
$ user.password_confirmation='xxx'
# 最后保存
$ user.save!
gitlab常用命令
sudo gitlab-ctl stop
sudo gitlab-ctl start
sudo gitlab-ctl reconfigure
安装jenkins环境
安装jenkins需要有java的环境,因此需要先安装jdk
安装OpenJDK 11
更新软件包及下载jdk
sudo apt update
sudo apt install openjdk-11-jdk
安装完成后查看java版本
java -version
配置环境变量
# 打开 /etc/environment文件
sudo vim /etc/environment
写入
# /etc/environment
JAVA_HOME="/user/lib/jvm/java-11-openjdk-amd64"
执行
source /etc/environment
安装jenkins
使用wget导入jenkins存储库密钥GPG
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
将jenkins存储库添加到系统中
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
更新软件包并安装最新的jenkins
sudo apt update
sudo apt install jenkins
通过输入sudo systemctl status jenkins可以查看Jenkins的运行状态,如果出现以下内容,则表示安装成功
● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; generated)
Active: active (exited) since Wed 2018-08-22 13:03:08 PDT; 2min 16s ago
Docs: man:systemd-sysv-generator(8)
Tasks: 0 (limit: 2319)
CGroup: /system.slice/jenkins.service
通过浏览器打开http://ip+8080端口,如果浏览器出现连接不上的问题,90%是端口或防火墙的问题,可以通过修改/etc/default/jenkins文件更换端口, 例如将HTTP_PORT=8080更换为 HTTP_PORT=8081
设置防火墙
# 开启防火墙, 会断开ssh连接
sudo ufw allow enable
# 允许所有8081的端口地址访问
sudo ufw allow 8081
sudo ufw allow 22
# 查看防火墙的状态
sudo ufw status
如果打开浏览器出现以下的窗口则表示安装成功

在终端输入sudo cat /var/lib/jenkins/secrets/initialAdminPassword,可以查看密码, 例如b55aa5df790f41688125c182193aecfe
至此,gitlab和jenkins的环境已安装完成
本文转自:https://juejin.cn/post/7068587954213486606
ubuntu21.10搭建jenkins和gitlab自动化部署环境的更多相关文章
- Jenkins Ansible GitLab 自动化部署
Jenkins Ansible GitLab 自动化部署 DevOps https://www.cnblogs.com/yangjianbo/articles/10393765.html https: ...
- Jenkins+maven+gitlab自动化部署之基础环境部署(一)
从一个二线城市,来到上海,刚入职,老大就给任务,为了减少开发打包部署时间,需要搭建一套自动化部署环境.接到任务后,赶紧上网查找资料,以及了解jenkins作用等等,用了一周时间,了解了个大概,由于都是 ...
- Windows版Jenkins+SVN+Maven自动化部署环境搭建【转】
前言 因今年公司新产品线较多,为了降低耦合,达到业务分离.重用,提高内部开发效率的目的,采用了基于服务组件.前后端分离的架构体系.与之前传统单应用架构相比,系统部署.配置更加复杂,为了能够频繁地将软件 ...
- Jenkins+Ansible+Gitlab自动化部署三剑客-gitlab本地搭建
实际操作 准备linux初始环境 关闭防火墙 systemctl stop firewalld 开机自己关闭 systemctl disable firewalld 设置安全配置 为关闭 vim /e ...
- Jenkins+maven+gitlab自动化部署之Jenkins部署(三)
本章开始正式搭建Jenkins: 公司现在使用的jenkins版本是2.150.3,但是本次实验安装的版本我们选择最新的 2.164.3(当然,当你阅读这篇文章时,此版本已经不是最新),jenkins ...
- Jenkins+maven+gitlab自动化部署之docker发布sprint boot项目(七)
Jenkins发布docker应用与发布java应用配置基本一致,需要配置Dockerfile及构建的步骤,步骤如下: 1.jenkins主机构建应用为jar包 2.jenkins主机把生产的jar包 ...
- Jenkins+maven+gitlab自动化部署之gitLab搭建(二)
Gitlab我们这里采用docker方式部署,详细请参考:Docker部署Gitlab11.10.4
- Jenkins+Ansible+Gitlab自动化部署三剑客-Jenkins本地搭建
后面需要shell基础,目前没有,等有了,再更
- Jenkins+Ansible+Gitlab自动化部署三剑客-Ansible本地搭建
可以通过git bash连接linux 关闭防火墙,禁用防火墙开机启动,并更爱selinux文件,重启 重新登录并检查禁用 getenforce 安装git yum -y install git ns ...
随机推荐
- Solon 1.6.21 发布,轻量级应用开发框架
关于官网 千呼万唤始出来: https://solon.noear.org .整了一个月多了...还得不断接着整! 关于 Solon Solon 是一个轻量级应用开发框架.支持 Web.Data.Jo ...
- WebGPU 中的缓冲映射机制
1. 什么是缓冲映射 就不给定义了,直接简单的说,映射(Mapping)后的某块显存,就能被 CPU 访问. 三大图形 API(D3D12.Vulkan.Metal)的 Buffer(指显存)映射后, ...
- Git配置多个github账号免密登录
在公司开发中,有时候会存在公司账户跟私人账户共存,并随时需要切换的情况,这种情况下git可以配置多个ssh-key,无缝切换账号. 假如有两个github账号,一个是私人github账号,一个是公司g ...
- Pandas常用操作 - 删除指定行/指定列
1. 删除指定行 new_df = df.drop(index='行索引') new_df = df.drop('行索引', axis='index') new_df = df.drop('行索引', ...
- 理解Python装饰器(Decorator)
date: 2017-04-14 00:06:46 Python的装饰器,顾名思义就是可以为已有的函数或对象起到装饰的作用,使得达到代码重用的目的. 从一个简单的例子出发 这个例子中我们已经拥有了若干 ...
- 常用模块(Day25-Day28)
模块分为三种: 1.内置模块:python安装时自带的. 2.扩展模块:别人写的,需要安装之后可以直接使用,如django,tornado等. 3.自定义模块:自己写的模块. 序列化模块 序列指字符串 ...
- HMS Core在MWC2022展示最新开放能力,助力开发者构建精品应用
[2022年2月28日,巴塞罗那]世界移动通信大会MWC2022在巴塞罗那开幕.HMS Core设立了3个展台(Fira Gran Via,Hall 1),向全球开发者展示HMS Core 6的全新开 ...
- [旧][Android] Retrofit 初步使用
备注 原发表于2016.04.13,资料已过时,仅作备份,谨慎参考 Retrofit 是什么? Retrofit is a type-safe HTTP client for Android and ...
- mac上Navicat新建数据库3680错误解决办法
mac上Navicat新建数据库3680错误解决办法 1.在设置里关闭mysql,若不能关闭,在终端输入: sudo /usr/local/mysql/support-files/mysql.serv ...
- ElasticSearch学习笔记(详细)
目录 ElasticSearch概述 ElasticSearch入门 安装 基本操作 查看es相关信息 索引操作 文档操作 bulk批量API 进阶检索 Search API Query DSL 分词 ...