镜像下载、域名解析、时间同步请点击阿里云开源镜像站

前置环境: vmware pro 16 + ubuntu21.10

安装gitlab

搭建ssh远程

  1. 打开终端
sudo apt-get install openssh-server
  1. 启动ssh
sudo /etc/init.d/ssh start
  1. 查看ip地址
ip addr show
  1. 使用终端工具连接
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自动化部署环境的更多相关文章

  1. Jenkins Ansible GitLab 自动化部署

    Jenkins Ansible GitLab 自动化部署 DevOps https://www.cnblogs.com/yangjianbo/articles/10393765.html https: ...

  2. Jenkins+maven+gitlab自动化部署之基础环境部署(一)

    从一个二线城市,来到上海,刚入职,老大就给任务,为了减少开发打包部署时间,需要搭建一套自动化部署环境.接到任务后,赶紧上网查找资料,以及了解jenkins作用等等,用了一周时间,了解了个大概,由于都是 ...

  3. Windows版Jenkins+SVN+Maven自动化部署环境搭建【转】

    前言 因今年公司新产品线较多,为了降低耦合,达到业务分离.重用,提高内部开发效率的目的,采用了基于服务组件.前后端分离的架构体系.与之前传统单应用架构相比,系统部署.配置更加复杂,为了能够频繁地将软件 ...

  4. Jenkins+Ansible+Gitlab自动化部署三剑客-gitlab本地搭建

    实际操作 准备linux初始环境 关闭防火墙 systemctl stop firewalld 开机自己关闭 systemctl disable firewalld 设置安全配置 为关闭 vim /e ...

  5. Jenkins+maven+gitlab自动化部署之Jenkins部署(三)

    本章开始正式搭建Jenkins: 公司现在使用的jenkins版本是2.150.3,但是本次实验安装的版本我们选择最新的 2.164.3(当然,当你阅读这篇文章时,此版本已经不是最新),jenkins ...

  6. Jenkins+maven+gitlab自动化部署之docker发布sprint boot项目(七)

    Jenkins发布docker应用与发布java应用配置基本一致,需要配置Dockerfile及构建的步骤,步骤如下: 1.jenkins主机构建应用为jar包 2.jenkins主机把生产的jar包 ...

  7. Jenkins+maven+gitlab自动化部署之gitLab搭建(二)

    Gitlab我们这里采用docker方式部署,详细请参考:Docker部署Gitlab11.10.4

  8. Jenkins+Ansible+Gitlab自动化部署三剑客-Jenkins本地搭建

    后面需要shell基础,目前没有,等有了,再更

  9. Jenkins+Ansible+Gitlab自动化部署三剑客-Ansible本地搭建

    可以通过git bash连接linux 关闭防火墙,禁用防火墙开机启动,并更爱selinux文件,重启 重新登录并检查禁用 getenforce 安装git yum -y install git ns ...

随机推荐

  1. Java中的多线程你只要看这一篇就够了(引用)

    引 如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个 ...

  2. vue 定义全局函数和变量

    背景 最近我在整一个网站,介绍一些有意思的网站和实用工具的网站并且把他们收集起来,网站刚建有些不成熟希望给点意见 我用的是前端框架的vue, 但是我没有打包,直接甩到服务器上了, 不想扯了, 步骤 1 ...

  3. 《PHP程序员面试笔试宝典》——如何回答算法设计问题?

    如何巧妙地回答面试官的问题? 本文摘自<PHP程序员面试笔试宝典> 程序员面试中的很多算法设计问题,都是历年来各家企业的"炒现饭",不管求职者以前对算法知识掌握得是否扎 ...

  4. MySQL基本数据类型与约束条件

    昨日内容回顾 数据存储的演变 # 方向: 朝着更加统一和方便管理 数据库的发展史 # 由本地保存逐步演变为线上保存 数据库的本质 # 本质上就是一款CS架构的软件 """ ...

  5. netty系列之:channel,ServerChannel和netty中的实现

    目录 简介 channel和ServerChannel netty中channel的实现 AbstractChannel和AbstractServerChannel LocalChannel和Loca ...

  6. Python+selenium自动循环送贺卡

    Python源代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...

  7. CentOS单机安装k8s并部署.NET 6程序 压测 记录

    前面部分依照CentOS单机安装k8s并部署.NET 6程序来进行,内存.cpu.centos版本一致,之前222元买的三年8M 2c4g腾讯云轻量服务器,这个教程算是写的很详细的了,基本可以一致执行 ...

  8. 【基础篇】js对本地文件增删改查--删

    前置条件: 1. 本地有安装node,点击传送门 项目目录: 1. msg.json内容 { "data": [ { "id": 1, "name&q ...

  9. Flash挂马实验

    实验目的 了解Flash木马的原理和危害 实现实验所提到的命令和工具,得到实验结果 实验原理 利用Flash挂马的原理并模拟实现挂马 实验内容 掌握Flash挂马的原理并模拟实现挂马 实验环境描述 1 ...

  10. [题解]Codeforces Round #254 (Div. 2) A - DZY Loves Chessboard

    链接:http://codeforces.com/contest/445/problem/A 描述:一个n*m的棋盘,有一些格子不能放棋子.现在把黑白棋子往上放,要求放满且相邻格子的棋子颜色不同.输出 ...