星球的眼睛 发表于 2026-1-31 20:08:49

Jenkins+Docker | K8S捏造化实现网站主动摆设 简单流程 未完待续,,

目次
大纲
1.Jenkins 的设置与 Docker、Kubernetes 集成指南
1. 创建新的Pipeline项目或Freestyle项目
1.1 创建Pipeline项目
1.2 创建Freestyle项目
2. 设置源代码管理
2.1 设置Git作为源代码管理工具
3. 设置构建触发器
4. 设置构建步调
4.1 对于Pipeline项目
4.2 对于Freestyle项目
5. 添加Docker构建步调
5.1 Pipeline项目
5.2 Freestyle项目
6. 生存设置
7. 触发构建
总结
2. Docker 设置
2.1 预备 Dockerfile
2.2 确保Docker已安装
2.3 使用 Docker 插件
3. Kubernetes 设置
3.1 预备 Kubernetes 集群
3.2 创建 Kubernetes Deployment
3.3 使用 kubectl 摆设应用
4. 主动化摆设流程
总结:

大纲

将Jenkins与Docker和Kubernetes(K8S)联合使用可以实现网站的主动化摆设和连续集成/连续摆设(CI/CD)。以下是一个简单的流程,
注意:这是我从前用的开辟文档,更具体的文档,因某些缘故原由我和团队其他人共享,,以是只生存了这么多。。
背面的话,偶然间,我会手动设置出一个属于我个人的,零出发点,跟着做完就能用的具体教程。
Jenkins设置
   在Jenkins中创建一个新的Pipeline项目或Freestyle项目。
在项目设置中设置源代码管理(如Git)和构建触发器。
设置构建步调,比方编译代码、运行测试等。
添加Docker构建步调,构建Docker镜像并推送到Docker堆栈。
Docker设置:
   在Docker中预备一个根本镜像,包罗运行网站所需的情况。
在Jenkins中使用Docker插件构建镜像,并将其推送到Docker堆栈。
Kubernetes设置:
   在Kubernetes集群中摆设一个Pod来运行网站容器。
创建Kubernetes Deployment或Service来管理网站的摆设和访问。

主动化摆设流程:

   今世码提交到源代码堆栈时,Jenkins会触发构建任务。
Jenkins将拉代替码、构建应用步调、构建Docker镜像并推送到Docker堆栈。
Kubernetes会根据更新的镜像主动更新摆设,确保网站始终运行最新版本。
通过如许的流程,您可以实现网站的主动化摆设和连续集成/连续摆设,进步摆设服从并淘汰人为错误。请注意,具体的设置和步调大概会根据您的现实需求和情况而有所差别,须要根据现真相况举行调解和优化。

1.Jenkins 的设置与 Docker、Kubernetes 集成指南

在当代软件开辟中,Jenkins的机动性与强大功能,成为连续集成和连续摆设(CI/CD)不可或缺的工具。而在构建这一体系的过程中,Docker与Kubernetes的使用,无疑为主动化摆设提供了强有力的支持。那么,如安在Jenkins中设置一个新的Pipeline项目或Freestyle项目呢?全方位一步步分析如下。
1. 创建新的Pipeline项目或Freestyle项目

1.1 创建Pipeline项目

   
[*]打开Jenkins Dashboard,清晰的界面上,点击左侧菜单中的 “New Item”。
[*]在弹出的框中,输入项目名称,确保无误。
[*]选择 “Pipeline” 选项,夷由半晌后,点击 “OK” 。
1.2 创建Freestyle项目

   
[*]再次回到Jenkins Dashboard,重复点击 “New Item”。
[*]输入项目名称,这次选择 “Freestyle project” ,同样点击 “OK”。
2. 设置源代码管理

2.1 设置Git作为源代码管理工具

在项目设置页面,找到 “Source Code Management” 部门:
   

[*]选择 “Git” 作为源。
[*]在 “Repository URL” 中,输入您的Git堆栈地点。如有认证需求,别忘了点击 “Add” 按钮,完满根据设置。
[*]根据现真相况,填写分支的规范,比方:*/main 或 */master。
3. 设置构建触发器

在项目标设置页面下方,探求 “Build Triggers” 部门,选择最适当的触发器:
   

[*]Poll SCM:定时查抄源代码变革。
[*]Build periodically:周期性触发构建任务。
[*]GitHub hook trigger for GITScm polling:通过GitHub Webhook触发构建。
4. 设置构建步调

4.1 对于Pipeline项目

   

[*]在设置页面上,找到 “Pipeline” 部门:
   

[*]在 “Definition” 中选择 “Pipeline script”,并在 “Script” 框中输入类似于以下的Pipeline脚本:
pipeline {
    agent any
    stages {
      stage('Checkout') {
            steps {
                git 'https://github.com/your-repo.git'
            }
      }
      stage('Build') {
            steps {
                sh 'make build'
            }
      }
      stage('Test') {
            steps {
                sh 'make test'
            }
      }
      stage('Docker Build and Push') {
            steps {
                script {
                  docker.withRegistry('https://index.docker.io/v1/', 'docker-credentials-id') {
                        def app = docker.build("your-docker-repo/your-app:${env.BUILD_ID}")
                        app.push()
                  }
                }
            }
      }
    }
}
4.2 对于Freestyle项目

   
[*]在设置页面的 “Build” 部门,点击 “Add build step”,选择符合的构建步调,好比 “Execute shell” 或 “Invoke Ant” 。
[*]此处,您可以根据需求选择实行Shell下令,调用Ant或Gradle脚本。
5. 添加Docker构建步调

5.1 Pipeline项目

在你的Pipeline脚本中,按照上述示例,明白规定Docker构建与推送的步调。
5.2 Freestyle项目

   

[*]同样在 “Build” 部门,点击 “Add build step”,选择 “Execute shell”。
[*]输入用于构建Docker镜像与推送至Docker堆栈的Shell下令,比方:
docker build -t your-docker-repo/your-app:${BUILD_ID} .
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
docker push your-docker-repo/your-app:${BUILD_ID}
确保在Jenkins的根据管理中,已根据Docker Hub的信息创建相应的根据。
6. 生存设置

在完玉成部告急设置之后,别忘了点击页面底部的 “Save” 按钮,将设置牢牢生存
7. 触发构建



[*]回到项目主页,点击 “Build Now” 按钮手动触发构建,大概,静待设置好的触发器主动启动构建。
总结

以上步调展示了如安在Jenkins中从零开始创建一个新的Pipeline项目或Freestyle项目,包罗源代码管理、构建触发器和构建步调的设置。乐成设置后,接下来的重点将是Docker和Kubernetes的设置,以便实现更高效的主动化摆设。
Dockers安装如下,请看我的文章:

2. Docker 设置

要使用Docker构建并推送您的镜像,按照以下细节:
2.1 预备 Dockerfile

在项目根目次创建一个 Dockerfile,界说构建您的应用步调的Docker镜像,以下是Node.js应用的示例:
# 使用官方Node.js镜像作为基础镜像
FROM node:14

# 设置工作目录
WORKDIR /usr/src/app

# 复制依赖配置文件
COPY package*.json ./

# 安装依赖请求
RUN npm install

# 复制源代码
COPY . .

# 暴露应用程序端口
EXPOSE 3000

# 启动命令
CMD ["npm", "start"]
2.2 确保Docker已安装

确认Docker已在Jenkins服务器上运行而且可用,实行以下下令查察Docker版本:
docker --version
2.3 使用 Docker 插件

对于Pipeline项目,Docker构建和推送步调已预设;而Freestyle项目需手动添加。以下是Freestyle项目标Docker构建步调示例:

[*]在Freestyle项目标设置页面,找到 “Build” ,再点击 “Add build step” 。
[*]选择 “Execute shell”,输入构建与推送的下令:
docker build -t your-docker-repo/your-app:${BUILD_ID} .
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
docker push your-docker-repo/your-app:${BUILD_ID}
确保您在Jenkins根据中添加了Docker Hub的干系根据,并将情况变量设定为 DOCKER_USERNAME 和 DOCKER_PASSWORD。
3. Kubernetes 设置

设置Kubernetes以支持主动摆设应用步调容器须要以下步调:
3.1 预备 Kubernetes 集群

确保您的Kubernetes集群已正常运行,您可以选择当地的Minikube,或在云提供商的服务(如GKE、EKS、AKS)中创建集群。
3.2 创建 Kubernetes Deployment

您须要编写一个Kubernetes设置文件(如 deployment.yaml),界说Deployment与Service。以下是示例:.yaml 格式
apiVersion: apps/v1
kind: Deployment
metadata:
name: your-app
spec:
replicas: 2
selector:
    matchLabels:
      app: your-app
template:
    metadata:
      labels:
      app: your-app
    spec:
      containers:
      - name: your-app
      image: your-docker-repo/your-app:${BUILD_ID}
      ports:
      - containerPort: 3000
---
apiVersion: v1
kind: Service
metadata:
name: your-app-service
spec:
type: LoadBalancer
ports:
    - port: 80
      targetPort: 3000
selector:
    app: your-app
3.3 使用 kubectl 摆设应用

在Pipeline的阶段中参加kubectl下令,以更新当前Docker镜像:
stage('Deploy to Kubernetes') {
    steps {
        script {
            def image = "your-docker-repo/your-app:${env.BUILD_ID}"
            sh "kubectl set image deployment/your-app your-app=${image} --record"
            sh "kubectl rollout status deployment/your-app"
        }
    }
}
确保在Jenkins中已设置好kubectl,以便与Kubernetes集群顺流畅信。这通常通过设置Kubeconfig文件实现。
4. 主动化摆设流程


[*]代码提交:当开辟职员向Git提交接码,Jenkins便会依设置的触发器启动构建流程。
[*]构建与推送镜像:Jenkins从版本库中获代替码,编译应用,天生Docker镜像,并将其推送至Docker堆栈。
[*]更新Kubernetes:借助kubectl的声明式更新操纵,确保Kubernetes中运行的容器镜像始终为最新版本。
总结:

通过以上的步调,您便能构建出一套完备的主动化摆设体系,充实融合Jenkins、Docker和Kubernetes,实现高效的CI/CD流程。在实行中,如遇具体需求或题目,请过细调试和优化设置,确保最佳实践的实行。
 写文不易,给我点点关注  和点点赞   点点收藏吧

3分云盘算-CSDN博客3分云盘算善于云盘算及运维,大数据运维及大数据根本,MySQL,等方面的知识,3分云盘算关注kubernetes,求职雇用,数据堆栈,量子盘算,ssh,redis,spring,java,apache,elasticsearch,devops,flume,mysql,vim,开源,空间盘算,python,zabbix,github,oracle,nginx,ubuntu,elk,华为云,开源软件,主动化,缓存,数据布局,交友,gitee,flink,运维,pycharm,kafka,服务器,gitlab,搜刮引擎,运维开辟,大数据,centos,hive,容器,idea,金融,docker,sql,ansible,git,spark,linux,debian,jenkins,json,hadoop,sublime text,数据库,云盘算,体系架构,步调人生,负载均衡,vscode,hdfs,bash,aws,etcd,低代码范畴.https://dis.qidao123.com/imgproxy/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9ibG9nX21pZ3JhdGUvYmUxOTg0NjQ4MGFiNDRjZTQ3NzU4NWZjNTY3YWVhYTAucG5nhttps://blog.csdn.net/qq_61414097

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
页: [1]
查看完整版本: Jenkins+Docker | K8S捏造化实现网站主动摆设 简单流程 未完待续,,