Linux+Docker+Gitee+Jenkins自动化部署.NET Core服务

目录

一、安装Jenkins

1、跟新yum包

2、查询镜像

3、拉取镜像

4、创建Jenkins工作目录,并将容器内目录挂载到此目录上

 5、启动Jenkins容器

二、Jenkins配置

1、Jenkins安装gitee码云插件

2、创建私人令牌

3、Jenkins添加全局凭据

4、系统配置

三、构建任务

方式一

方式二 



一、安装Jenkins

1、跟新yum包

sudo yum update                     #确保yum包更新到最新

service network restart             #重启网络

2、查询镜像

docker search jenkins      

3、拉取镜像

docker pull jenkins/jenkins              #拉取镜像

4、创建Jenkins工作目录,并将容器内目录挂载到此目录上

目的是:Jenkins会将从git或者码云仓库中拉取到的项目代码拉取到此目录中,进行编译打包发布

777代表了对文件或目录的最高级别的权限

sudo mkdir -p /home/jenkins_home                 #在home目录下创建jenkins_home目录

sudo mkdir -p /home/jenkins_settings             #在home目录下创建jenkins_settings目录

sudo chmod 777 /homt/jenkins_home             #设置权限

sudo chmod 777 /home/jenkins_settings        #设置权限

 5、启动Jenkins容器

使用以下命令启动Jenkins容器,并将宿主机上的相关目录挂载到容器内的相应位置:

# -v $(which docker):/usr/bin/docker 
# -v /var/run/docker.sock:/var/run/docker.sock    这两句是表示支持docker

sudo docker run -d -u root \
-p 9096:8080 \
-p 50001:50000 \
-v /home/jenkins_home:/var/jenkins_home \
-v /home/jenkins_settings:/var/settings \
-v /etc/localtime:/etc/localtime \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
--restart=always \
--name=jenkins2 \
jenkins/jenkins:latest

6、

在浏览器中打开:192.168.43.10:9095 进入Jenkins页面  192.168.43.10是我虚拟机静态IP地址,9095是当前安装的jenkins端口

二、Jenkins配置

1、Jenkins安装gitee码云插件

选择可用插件,输入gitee,点击下载 

gitee插件安装完毕

添加Docker插件

 

2、创建私人令牌

去码云网站创建一个私人令牌:https://gitee.com/personal_access_tokens

点击生成新令牌:

点击生成令牌或者修改后,就会弹出如下弹窗:复制你的私人令牌:

3、Jenkins添加全局凭据

1、打开你的Jenkins页面  系统管理->凭据

2、添加一个Gitee API令牌 类型的全局凭据 

3、再添加一个用户名加密码类型的凭据

 

4、系统配置

 往下拉找到 Gitee配置:

点应用保存

三、构建任务

方式一

 shell命令:

home/jenkins_home是我jenkins的工作目录(当然你也可以在安装jenkins的时候指定其他目录为你的jenkins工作目录),安装完jenkins后会在工作目录下面自动给我们创建了一个工作空间目录,叫workspace。

当我们在jenkins中新建一个任务:比如任务名称叫:slxt-master,那么它就会在workspace目录下给我们创建一个slxt-master的文件夹,用于存放我们从slxt-master任务中配置的git仓库地址拉取下来的源代码。

#!/bin/sh
#### 切换到项目文件夹下####
cd /home/jenkins_home/workspace/slxt-master
#### 检查是否存在悬空容器,如果存在则清理悬空容器,下面这段代码请谨慎使用,用于删除所有未使用的容器,所以这我注释掉了####
#### docker container prune -f  ####
#### 检查是否存在虚悬镜像,如果存在则清理虚悬镜像####
echo ---------------Clear-Images...------------------
clearImagesList=$(docker images -f "dangling=true" -q)
if [ ! -n "$clearImagesList" ]; then
echo "no images need  clean up."
else
docker rmi $(docker images -f "dangling=true" -q)
echo "clear success."
fi
#### 搜索容器名称以mynet开头的容器,然后停止并删除###
echo ---------------停止并删除容器开始...------------------
docker stop $(docker ps -a --filter name=mynet* --format "{{.Names}}")  
docker rm $(docker ps -a --filter name=mynet* --format "{{.Names}}")
#### 构建镜像###
echo ---------------构建镜像开始...------------------
docker build -t jenkinstestimage .
#### 根据镜像运行容器###
echo ---------------运行容器开始...------------------
docker run -d -p 8050:80 --name=mynet6test8050 jenkinstestimage
docker run -d -p 8051:80 --name=mynet6test8051 jenkinstestimage
docker run -d -p 8052:80 --name=mynet6test8052 jenkinstestimage

方式二 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

5.5 Linux Apache服务

1、概念介绍 a. Web 服务简介 WEB服务器也称为WWW(WORLD WIDE WEB,万维网)服务器,主要功能是提供网上信息浏览服务。 常用web服务器:httpd(apache)、nginx、tomcat、IIS 客户端:IE、firefox、chrome b…

第15章 《乐趣》Page355~375 代码简化版

运行效果&#xff1a;全屏了 简化之后的代码如下&#xff1a; //main.cpp #include <iostream> #include <SDL2/SDL.h> #include "sdl_initiator.hpp" #include "sdl_error.hpp" #include "sdl_window.hpp" #include "sdl_sur…

2023年国家基地“楚慧杯”网络空间安全实践能力竞赛 Web方向 题解wp

前言&#xff1a;三小时的比赛&#xff0c;和强网同时结束还要当场交wp&#xff0c;汗流浃背&#xff0c;烧起来了啊啊啊啊~ eaaeval 目录扫出备份文件 源码如下 <?php class Flag{public $a;public $b;public function __construct(){$this->a admin;$this->b …

设计模式——策略模式

引言 策略模式是一种行为设计模式&#xff0c; 它能让你定义一系列算法&#xff0c; 并将每种算法分别放入独立的类中&#xff0c; 以使算法的对象能够相互替换。 问题 一天&#xff0c; 你打算为游客们创建一款导游程序。 该程序的核心功能是提供美观的地图&#xff0c; 以…

STM32F103RCT6开发板M3单片机教程06--定时器中断

前言 除非特别说明&#xff0c;本章节描述的模块应用于整个STM32F103xx微控制器系列&#xff0c;因为我们使用是STM32F103RCT6开发板是mini最小系统板。本教程使用是&#xff08;光明谷SUN_STM32mini开发板&#xff09; STM32F10X定时器(Timer)基础 首先了解一下是STM32F10X…

如何开发一个prompt?prompt的使用有哪些原则?

提示词使用原则 如何开发一个跟自己预期结果接近的提示词&#xff1f;有哪些基本原则&#xff1f; 提示词迭代开发 写提示词时&#xff0c;第一次尝试是值得的&#xff0c;反复完善提示&#xff0c;获得越来越接近你想要的结果 原文来源于B站吴恩达提示工程教学公开课。…

Jenkins----基于 CentOS 或 Docker 安装部署Jenkins并完成基础配置

查看原文 文章目录 基于 CentOS7 系统部署 Jenkins 环境基于 Docker 安装部署 Jenkins环境配置 Jenkins 中文模式配置用户名密码形式的 Jenkins 凭据配置 ssh 私钥形式的 Jenkins 凭据配置 Jenkins 执行任务的节点 基于 CentOS7 系统部署 Jenkins 环境 &#xff08;1&#xff…

数据库交付运维高级工程师-腾讯云TDSQL

数据库交付运维高级工程师-腾讯云TDSQL上机指导&#xff0c;付费指导&#xff0c;暂定99

并发编程中常见的设计模式

文章目录 一、 终止线程的设计模式1. 简介2. Tow-phase Termination&#xff08;两阶段终止模式&#xff09;—优雅的停止线程 二、避免共享的设计模式1. 简介2. Immutability模式—想破坏也破坏不了3. Copy-on-Write模式4. Thread-Specific Storage模式—没有共享就没有伤害 三…

[数据集][目标检测]人员持刀数据集VOC+YOLO格式6923张1类别重制版

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6923 标注数量(xml文件个数)&#xff1a;6923 标注数量(txt文件个数)&#xff1a;6923 标注…

C# WPF上位机开发(函数运行时间分析)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 上位机除了基本功能和稳定性之外&#xff0c;还有一个要注意的就是运行效率的问题。如果我们想提高软件的运行效率&#xff0c;单位时间做更多的工…

【idea】解决sprintboot项目创建遇到的问题

目录 一、报错Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found 二、报错java: 错误: 无效的源发行版&#xff1a;17 三、java: 无法访问org.springframework.web.bind.annotation.CrossOrigin 四、整合mybatis的时候&#xff0c;报java.lang.Ill…

Spring Boot+Mybatis设置sql日志打印

在全局配置文件添加以下内容&#xff1a;logging.level.com.demo.mapperdebug&#xff0c;com.demo.mapper&#xff1a;src下的mapper路径&#xff0c;debug&#xff1a;设置日志打印级别为debug&#xff0c;亦可设置为&#xff1a;ERROR、WARN、INFO application.properties …

安装android studio

记录一下安装android studio的过程&#xff1a; 1.首先安装android studio到某一文件夹后&#xff0c;在C盘用户目录下可以看到.android文件夹。C:\Users\22515\AppData\Local\Google目录下也会出现AndroidStudio2022.2文件夹。&#xff08;注意&#xff1a;用户名&#xff0c…

【精选】SpringMVC处理响应及注解开发

SpringMVC处理响应 配置视图解析器 SpringMVC默认情况下会在控制器执行完成后跳转到视图页面&#xff0c;视图解析器能找到相应的视图&#xff0c;之前的404异常就是由于没有配置视图解析器导致找不到视图。 在SpringMVC中提供了13个视图解析器&#xff0c;用于支持不同的视图…

87 GB 模型种子,GPT-4 缩小版,超越ChatGPT3.5,多平台在线体验

瞬间爆火的Mixtral 8x7B 大家好&#xff0c;我是老章 最近风头最盛的大模型当属Mistral AI 发布的Mixtral 8x7B了&#xff0c;火爆程度压过Google的Gemini。 缘起是MistralAI二话不说&#xff0c;直接在其推特账号上甩出了一个87GB的种子 随后Mixtral公布了模型的一些细节&am…

yolov5训练自己的数据集

1.要保证yolov5的目录和数据集在同一级目录下&#xff0c;格式如下&#xff0c;我的数据集是leaf。要和yolov5-master在一个级别。 2.数据集leaf的格式是非常重要的&#xff0c;leaf里面有有train&#xff08;训练集&#xff09;,val&#xff08;验证集&#xff09;&#xff…

Web前端期末大作业---新农村建设网页设计

✅ 作者简介&#xff1a;一名普通本科大三的学生&#xff0c;致力于提高前端开发能力 ✨ 个人主页&#xff1a;前端小白在前进的主页 ⭐️ 个人社区 : 个人交流社区 &#x1f340; 学习格言: ☀️ 打不倒你的会使你更强&#xff01;☀️ &#x1f525;前言 期末来咯&#xff0c…

小程序静默登录-登录拦截实现方案【全局loginPromis加页面拦截】

实现效果&#xff1a; 用户进入小程序访问所有页面运行onload、onShow、onReady函数时保证业务登录态是有效的 实现难点&#xff1a; 由于小程序的启动流程中&#xff0c;页面级和组件级的生命周期函数都不支持异步阻塞&#xff1b;因此会造成一个情况&#xff0c;app.onLau…