Jenkins 搭建

news2025/1/23 6:13:09

jekins

GitLab

GitLab安装

https://gitlab.cn/install/?version=ce

CentOS 下安装

1. 安装和配置必须的依赖项

在 CentOS 7上,下面的命令也会在系统防火墙中打开 HTTP、HTTPS 和 SSH 访问。这是一个可选步骤,如果您打算仅从本地网络访问极狐GitLab,则可以跳过它。

sudo yum install -y curl policycoreutils-python openssh-server perl
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

(可选)下一步,安装 Postfix 以发送电子邮件通知。如果您想使用其他解决方案发送电子邮件,请跳过此步骤并在安装极狐GitLab 后配置外部 SMTP 服务器。

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

在安装 Postfix 的过程中可能会出现一个配置界面,在该界面中选择“Internet Site”并按下回车。把“mail name”设置为您服务器的外部 DNS 域名并按下回车。如果还有其它配置界面出现,继续按下回车以接受默认配置。

2. 下载/安装极狐GitLab

配置极狐GitLab 软件源镜像。

curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash

在这里插入图片描述

接下来,安装极狐GitLab。确保您已正确设置您的 DNS,并更改 https://gitlab.example.com 为您要访问极狐GitLab 实例的 URL。安装包将在该 URL 上自动配置和启动极狐GitLab。

对于 https 站点,极狐GitLab 将使用 Let’s Encrypt 自动请求 SSL 证书,这需要有效的主机名和入站 HTTP 访问。您也可以使用自己的证书或仅使用 http://(不带s)。

如果您想为初始管理员用户(root)指定自定义密码,请查看文档。如果未指定密码,将自动生成随机密码。

执行如下命令开始安装:

# 配置自己的访问地址  http://192.168.153.105
# sudo EXTERNAL_URL="http://192.168.153.105" yum install -y gitlab-jh
sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-jh

在这里插入图片描述
安装完成:
安装完成

3. 访问极狐GitLab 实例并登录

除非您在安装过程中指定了自定义密码,否则将随机生成一个密码并存储在 /etc/gitlab/initial_root_password 文件中(出于安全原因,24 小时后,此文件会被第一次 gitlab-ctl reconfigure 自动删除,因此若使用随机密码登录,建议安装成功初始登录成功之后,立即修改初始密码)。使用此密码和用户名 root 登录。

head /etc/gitlab/initial_root_password

/etc/gitlab/initial_root_password

3.1 修改密码

修改密码

3.2 常用命令

gitlab常用命令

有关安装和配置的详细说明,请参阅我们的文档。

gitlab-ctl start

4. 后续配置

完成安装后,请参考建议的后续配置,包括身份验证选项和注册限制的配置。

Docker 下安装

https://docs.gitlab.cn/jh/install/docker.html

1. 安装Docker

1.更新yum源

yum update

2.安装依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

3.添加镜像

//国外镜像
yum-config-manager --add-repo https://download.docker,com/1inux/centos/docker-ce.repo 
//阿里镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/1inux/centos/docker-ce.repo

4.查看源中可使用版本

Tist docker-ce --showdupTicates sort -r

5.安装指定版本

yum insta11 docker

6.配置开机启动项

systemct] start docker
systemctI enable docker
docker version
2. 设置卷位置

在设置其他所有内容之前,请配置一个新的环境变量 $GITLAB_HOME,指向配置、日志和数据文件所在的目录。 确保该目录存在并且已授予适当的权限。

对于 Linux 用户,将路径设置为 /srv/gitlab

export GITLAB_HOME=/srv/gitlab

对于 macOS 用户,使用用户的 $HOME/gitlab 目录:

export GITLAB_HOME=$HOME/gitlab

GITLAB_HOME 环境变量应该附加到您的 shell 的配置文件中,以便它应用于所有未来的终端会话:

Bash:~/.bash_profile
ZSH:~/.zshrc
极狐GitLab 容器使用主机装载的卷来存储持久数据:

本地位置 容器位置 使用

$GITLAB_HOME/data	/var/opt/gitlab	用于存储应用程序数据。
$GITLAB_HOME/logs	/var/log/gitlab	用于存储日志。
$GITLAB_HOME/config	/etc/gitlab	用于存储极狐GitLab 配置文件。
3. 安装gitLab

hostname 可以配置域名或者ip

sudo docker run --detach \
  --hostname 192.168.153.104 \
  --publish 443:443 --publish 80:80\
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  --shm-size 256m \
  registry.gitlab.cn/omnibus/gitlab-jh:latest

在这里插入图片描述

3.1 查看启动日志

在这里插入图片描述

3.2 查看密码
docker exec -it gitlab /bin/bash
head /etc/gitlab/initial_root_password

在这里插入图片描述

新建项目,测试
在这里插入图片描述

jenkins war包方式)

https://www.jenkins.io/zh/download/

系统要求

最低推荐配置:

  • 256MB可用内存
  • 1GB可用磁盘空间(作为一个Docker容器运行jenkins的话推荐10GB)

为小团队推荐的硬件配置:

  • 1GB+可用内存
  • 50 GB+ 可用磁盘空间

软件配置:

  • Java 8—​无论是Java运行时环境(JRE)还是Java开发工具包(JDK)都可以。

安装JDK

jenkins.war 包可能运行不了,需要安装java11版本
在这里插入图片描述

## 查看jdk版本
yum search java|grep jdk
## 下载 jdk11
yum install -y java-8-openjdk
       or
yum install -y java-11-openjdk

在这里插入图片描述

启动jenkins

在这里插入图片描述

初始化

http://192.168.153.103:8080/

  • 输入密钥初始化

在这里插入图片描述

  • 选择推荐插件安装
    在这里插入图片描述
    在这里插入图片描述

安装Maven

apache-maven-3.9.5-bin.tar.gz

# 解压
[root@localhost ~]# tar zxvf apache-maven-3.9.5-bin.tar.gz
# 移动
[root@localhost ~]# mv apache-maven-3.9.5 /usr/local/maven
# 检查可运行
[root@localhost ~]# /usr/local/maven/bin/mvn -v
Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)
Maven home: /usr/local/maven
Java version: 11.0.20, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-11-openjdk-11.0.20.0.8-1.el7_9.x86_64
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"

安装Maven 插件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

构建item

选择maven 构建项目
在这里插入图片描述
复制远程仓库地址,如果出现以下提示,则需要安装一下git
在这里插入图片描述
在这里插入图片描述

配置maven

在这里插入图片描述

自动构建配置

安装 Publish Over SSH 插件

在这里插入图片描述

配置 Publish over SSH

远程git信息
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1203201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网易有道上线“易魔声” 开源语音合成引擎 用户可免费下载使用

网易有道上线“易魔声” 开源语音合成引擎 用户可免费下载使用 刚刚,我们上线了「易魔声」开源语音合成(TTS)引擎!🎉🎉🎉 「易魔声」,是一款有道自研TTS引擎,目前支持中…

PNAS | 蛋白质结构预测屈服于机器学习

今天为大家介绍的是来自James E. Rothman的一篇短文。今年的阿尔伯特拉斯克基础医学研究奖表彰了AlphaFold的发明,这是蛋白质研究历史上的一项革命性进展,首次提供了凭借序列信息就能够准确预测绝大多数蛋白质的三维氨基酸排列的实际能力。这一非凡的成就…

react函数式组件props形式子向父传参

父组件中定义 子组件中触发回调传值 import { useState } from "react"; function Son(params) {const [count, setCount] useState(0);function handleClick() {console.log(params, paramsparamsparamsparamsparamsparams);params.onClick(111)setCount(count 1…

leetcode每日一题复盘(11.13~11.19)

leetcode 435 无重叠区间 本题和射气球最小箭数大同小异,但是这一题没做出来,难就难在题目如何理解:移除区间最小数量,使剩下的区间不重叠 那么本质上就是求最少有多少个重叠区间,把重叠区间去掉剩下的区间即不重叠 这里有两种做…

智慧工地管理云平台源码,Spring Cloud +Vue+UniApp

智慧工地源码 智慧工地云平台源码 智慧建筑源码支持私有化部署,提供SaaS硬件设备运维全套服务。 互联网建筑工地,是将互联网的理念和技术引入建筑工地,从施工现场源头抓起,最大程度的收集人员、安全、环境、材料等关键业务数据&am…

安防监控系统EasyCVR v3.4.0版本首页界面更新调整功能大汇总

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台可拓展性强、…

你知道调试一个 Web 的 Android 应用有多麻烦吗 AndroidStudio uniapp Capacitor

你知道调试一个 Web 的 Android 应用有多麻烦吗 AndroidStudio uniapp Capacitor 用的 uniapp 写的页面,全是坑,各种坑,生命周期不触发等。但由于已经做完大部分内容了,也不好换了。 我用的是 capacitor h5 > Android 的方式…

猫罐头怎么选择?精选的5款口碑好的猫罐头推荐!

猫罐头因其成分约80%为水分,对于不喜欢喝水的猫咪来说,正是可以用来补充水分的替代方案。 而近年来市面上也有越来越多讲究食用安全性的猫罐头,像是强调无添加多余加工品、或是不含谷物成分等的商品。但也因为种类过多,让铲屎官容…

【现场问题】datax中write部分为Oracle的时候插入clolb类型字段,插入的数据为string且长度过场问题

datax的Oraclewriter 报错显示查询报错展示查找datax中的数据插入模块 报错显示 occurred during batching: ORA-01704: string literal too long 查询报错展示 基本上查到的都是这样的,所以锁定是clob的字段类型的问题,而且是只有Oracle出问题&#…

vue2【计算属性】

目录 1:计算属性的作用 2:代码示例 3:特点 4:好处 1:计算属性的作用 计算属性指的是通过将属性经过运算,最终得到一个属性值,这个属性值可以在method节点下和模板结构中被使用。 2&#x…

未来之选:为什么向量数据库是您的数据管理利器

文章目录 前言什么是向量数据库?向量数据库的机制向量数据库的优点‍查询向量数据库 什么是向量Embedding?Amazon OpenSearch Service总结 前言 向量数据库擅长处理复杂的高维数据,正在彻底改变商业世界的数据检索和分析。它们执行相似性搜索…

从零基础到精通:Flutter开发的完整指南

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 第一部分:入…

CSRF 漏洞实战

CMS创建新用户 方法&#xff1a;攻击者可以利用 XSS 触发 CSRF 攻击。因为&#xff0c;可以利用 JS 发送 HTTP 请求。经过研究受害网站的业务流程&#xff0c;可以构造如下代码&#xff1a; 代码&#xff1a; <script> xmlhttp new XMLHttpRequest(); xmlhttp.open(&qu…

SQLServer添加Oracle链接服务器

又一次在项目中用到了在SQLServer添加Oracle链接服务器&#xff0c;发现之前文章写的也不太好使&#xff0c;那就再总结一次吧。 1、安装OracleClient 安装64位&#xff0c;多数SQLServer是64位&#xff0c;所以OracleClient也安装64位的&#xff1b; 再一个一般安装的Oracl…

小米路由器4A千兆版刷入OpenWRT并远程访问

小米路由器4A千兆版刷入OpenWRT并远程访问 文章目录 小米路由器4A千兆版刷入OpenWRT并远程访问前言1. 安装Python和需要的库2. 使用 OpenWRTInvasion 破解路由器3. 备份当前分区并刷入新的Breed4. 安装cpolar内网穿透4.1 注册账号4.2 下载cpolar客户端4.3 登录cpolar web ui管理…

Monkey压力测试

环境搭建 提前下好java&#xff08;我的是java8&#xff09; https://www.androiddevtools.cn/ 下载Android SDK 解压后点击安装 可以使用雷神模拟器模拟手机连接 dumpsys activity activities | grep “mFocusedActivity”&#xff08;获取当前运行进程包名&#xff09; ex…

python爬虫top250电影数据

之前看到的&#xff0c;我改了一下&#xff0c;多了很多东西 import requests from bs4 import BeautifulSoup from openpyxl import Workbook from openpyxl.styles import Font import redef extract_movie_info(info):# 使用正则表达式提取信息pattern re.compile(r导演:…

利用LangChain实现RAG

检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;结合了搜寻检索生成能力和自然语言处理架构&#xff0c;透过这个架构&#xff0c;模型可以从外部知识库搜寻相关信息&#xff0c;然后使用这些信息来生成response。要完成检索增强生成主要包含四个步骤…

2、工厂模式的实现

工厂模式概念 工厂模式是一种常用的设计模式&#xff0c;它主要用于实例化对象。这种模式的主要思想是在不暴露具体的实现细节的情况下&#xff0c;让客户端能够创建具有特定接口的对象。它可以让我们在运行时决定实例化哪个类。 在C语言中&#xff0c;实例化对象意味着创建一…

Leetcode—70.爬楼梯【简单】

2023每日刷题&#xff08;二十七&#xff09; Leetcode—70.爬楼梯 动态规划思想 动态规划算法的本质是使用空间换时间&#xff0c;通过计算和记录状态来得到最优解。 在分析动态规划类题目时&#xff0c;我们可以通过3个问题对题目进行基本的拆解。 1.问题是否分阶段&…