深圳网站快速备案网页设计教程电影

张小明 2026/1/9 1:15:47
深圳网站快速备案,网页设计教程电影,苏州有什么好玩的景点景区,四川网站营销seo费用本文详解Jenkins的安装配置、Pipeline编写、自动化构建部署的完整实践。前言 持续集成/持续部署#xff08;CI/CD#xff09;是现代软件开发的标配#xff1a; 自动化构建#xff1a;代码提交后自动编译打包自动化测试#xff1a;每次构建自动运行测试自动化部署#xff…本文详解Jenkins的安装配置、Pipeline编写、自动化构建部署的完整实践。前言持续集成/持续部署CI/CD是现代软件开发的标配自动化构建代码提交后自动编译打包自动化测试每次构建自动运行测试自动化部署测试通过后自动发布Jenkins是最流行的开源CI/CD工具插件生态丰富1800插件支持各种语言和框架Pipeline as Code今天来搭建一套完整的Jenkins CI/CD环境。一、Jenkins部署1.1 Docker部署推荐# docker-compose.ymlversion:3.8services:jenkins:image:jenkins/jenkins:ltscontainer_name:jenkinsprivileged:trueuser:rootports:-8080:8080-50000:50000volumes:-./jenkins_home:/var/jenkins_home-/var/run/docker.sock:/var/run/docker.sock-/usr/bin/docker:/usr/bin/dockerenvironment:-TZAsia/Shanghairestart:unless-stopped# 创建目录并启动mkdirjenkins_home docker compose up -d# 获取初始密码dockerexecjenkinscat/var/jenkins_home/secrets/initialAdminPassword1.2 初始化配置1. 访问 http://服务器IP:8080 2. 输入初始密码 3. 安装推荐插件或自定义选择 4. 创建管理员账号 5. 配置Jenkins URL1.3 必装插件插件用途Pipeline流水线支持GitGit集成Docker PipelineDocker构建支持Blue Ocean现代化UICredentials Binding凭证管理SSH AgentSSH部署安装路径 Manage Jenkins → Plugins → Available plugins二、第一个Pipeline2.1 创建Pipeline项目1. Dashboard → New Item 2. 输入名称选择Pipeline 3. 点击OK2.2 Hello World Pipelinepipeline{agent any stages{stage(Hello){steps{echoHello, Jenkins Pipeline!}}stage(Build){steps{echoBuilding...shecho Build number: ${BUILD_NUMBER}}}stage(Test){steps{echoTesting...}}stage(Deploy){steps{echoDeploying...}}}post{always{echoPipeline finished!}success{echoSuccess!}failure{echoFailed!}}}2.3 运行Pipeline1. 点击Build Now 2. 查看Console Output 3. 或使用Blue Ocean查看可视化流程三、实战Java项目CI/CD3.1 项目结构my-project/ ├── src/ ├── pom.xml ├── Dockerfile └── Jenkinsfile3.2 Jenkinsfilepipeline{agent any environment{DOCKER_REGISTRYregistry.example.comIMAGE_NAMEmy-appDEPLOY_SERVER192.168.1.100}tools{mavenMaven-3.8jdkJDK-11}stages{stage(Checkout){steps{checkout scm echoBranch: ${env.BRANCH_NAME}echoCommit: ${env.GIT_COMMIT}}}stage(Build){steps{shmvn clean compile -DskipTests}}stage(Test){steps{shmvn test}post{always{junit**/target/surefire-reports/*.xml}}}stage(Package){steps{shmvn package -DskipTestsarchiveArtifacts artifacts:target/*.jar,fingerprint:true}}stage(Docker Build){steps{script{defimageTag${DOCKER_REGISTRY}/${IMAGE_NAME}:${BUILD_NUMBER}shdocker build -t ${imageTag} .shdocker push ${imageTag}}}}stage(Deploy){when{branchmain}steps{script{defimageTag${DOCKER_REGISTRY}/${IMAGE_NAME}:${BUILD_NUMBER}sshagent([deploy-server-key]){sh ssh -o StrictHostKeyCheckingno user${DEPLOY_SERVER} docker pull ${imageTag} docker stop my-app || true docker rm my-app || true docker run -d --name my-app -p 8080:8080 ${imageTag} }}}}}post{success{echoPipeline succeeded!// 发送通知}failure{echoPipeline failed!// 发送告警}}}3.3 DockerfileFROM openjdk:11-jre-slim WORKDIR /app COPY target/*.jar app.jar EXPOSE 8080 ENTRYPOINT [java, -jar, app.jar]3.4 配置Git仓库1. 创建Pipeline项目 2. Pipeline → Definition: Pipeline script from SCM 3. SCM: Git 4. Repository URL: 填写Git地址 5. Credentials: 添加Git凭证 6. Branch: */main 7. Script Path: Jenkinsfile四、凭证管理4.1 添加凭证Manage Jenkins → Credentials → System → Global credentials → Add Credentials4.2 凭证类型类型用途Username with passwordGit账号、Docker RegistrySSH Username with private key服务器部署Secret textToken、API KeySecret file配置文件4.3 在Pipeline中使用pipeline{agent any stages{stage(Deploy){steps{// 方式1SSH凭证sshagent([my-ssh-key]){shssh userserver command}// 方式2用户名密码withCredentials([usernamePassword(credentialsId:docker-registry,usernameVariable:DOCKER_USER,passwordVariable:DOCKER_PASS)]){shdocker login -u $DOCKER_USER -p $DOCKER_PASS}// 方式3Secret文本withCredentials([string(credentialsId:api-token,variable:API_TOKEN)]){shcurl -H Authorization: $API_TOKEN ...}}}}}五、多分支Pipeline5.1 创建多分支Pipeline1. New Item → Multibranch Pipeline 2. 配置Git仓库 3. Jenkins自动扫描所有分支 4. 每个分支独立构建5.2 分支策略pipeline{agent any stages{stage(Build){steps{shmvn package}}stage(Deploy to Dev){when{branchdevelop}steps{echoDeploying to dev environment...}}stage(Deploy to Staging){when{branchrelease/*}steps{echoDeploying to staging environment...}}stage(Deploy to Production){when{branchmain}steps{input message:确认部署到生产环境echoDeploying to production...}}}}六、触发器配置6.1 常用触发器pipeline{agent any triggers{// 定时构建每天凌晨2点cron(0 2 * * *)// 轮询SCM每5分钟检查一次pollSCM(H/5 * * * *)// GitLab/GitHub Webhook触发// 需要在仓库配置Webhook}stages{// ...}}6.2 Webhook配置GitLab:Settings → Webhooks → Add webhook URL: http://jenkins-server:8080/project/项目名 Trigger: Push eventsGitHub:Settings → Webhooks → Add webhook Payload URL: http://jenkins-server:8080/github-webhook/ Content type: application/json七、跨网络部署7.1 场景常见情况 - Jenkins在公司内网 - 生产服务器在云上或分部机房 - 网络不通无法SSH部署7.2 组网方案使用组网软件如星空组网打通Jenkins和部署服务器┌─────────────────────────────────────────────────────────┐ │ 组网虚拟局域网 │ │ │ │ ┌──────────────────┐ ┌──────────────────┐ │ │ │ 公司内网 │ │ 云服务器/分部 │ │ │ │ │ │ │ │ │ │ Jenkins │ │ 生产服务器 │ │ │ │ 10.10.0.1 │─────→│ 10.10.0.2 │ │ │ │ │ SSH │ │ │ │ └──────────────────┘ └──────────────────┘ │ │ │ └─────────────────────────────────────────────────────────┘Jenkinsfile配置environment{// 使用组网IPDEPLOY_SERVER10.10.0.2}stage(Deploy){steps{sshagent([deploy-key]){sh ssh user${DEPLOY_SERVER} docker pull my-app:latest docker-compose up -d }}}优势不需要公网暴露Jenkins不需要服务器开放SSH到公网加密传输安全可靠配置简单一次设置八、Blue Ocean8.1 安装Blue OceanManage Jenkins → Plugins → 搜索Blue Ocean → Install8.2 使用Blue Ocean访问http://jenkins:8080/blue 特点 - 现代化可视化界面 - Pipeline编辑器 - 分支和PR视图 - 更好的日志展示九、常见问题9.1 构建卡住// 设置超时options{timeout(time:30,unit:MINUTES)}9.2 磁盘空间不足// 保留最近10次构建options{buildDiscarder(logRotator(numToKeepStr:10))}9.3 并行构建stage(Parallel Tests){parallel{stage(Unit Tests){steps{shmvn test -Dtest*Unit*}}stage(Integration Tests){steps{shmvn test -Dtest*Integration*}}}}十、总结Jenkins CI/CD要点Docker部署最简单的部署方式Pipeline as CodeJenkinsfile版本控制凭证管理安全存储敏感信息多分支Pipeline自动化分支构建Webhook触发代码提交自动构建跨网络部署组网打通构建和部署环境最佳实践☑ Jenkinsfile放在代码仓库 ☑ 使用声明式Pipeline ☑ 合理设置构建保留策略 ☑ 配置构建通知邮件/钉钉/企微 ☑ 定期清理工作空间参考资料Jenkins官方文档https://www.jenkins.io/doc/Jenkins Pipeline语法https://www.jenkins.io/doc/book/pipeline/syntax/Jenkins插件中心https://plugins.jenkins.io/建议从简单的Pipeline开始逐步添加测试、部署等阶段。先跑通流程再优化细节。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

做羞羞事免费网站wordpress 首页乱码

一、问题:专家看不见,现场说不清上个月,我接到一个来自工业客户的紧急需求:“我们的工程师在野外检修高压变电站,遇到一个从未见过的故障。打电话描述不清,视频又太卡。能不能让总部专家‘看到’现场&#…

张小明 2026/1/6 15:39:34 网站建设

公司网站建设 宁波android studio期末大作业

在塑料成型、压铸、化工反应等众多工业领域,模温机(模具温度控制机)是保障产品质量、提升生产效率的核心设备之一。面对市场上琳琅满目的品牌和型号,许多用户都会产生一个疑问:哪家好用的模温机靠谱?选择一…

张小明 2026/1/2 12:43:35 网站建设

网站内链接怎么做建行信用卡网站登录

作为一名云服务的老用户,我这些年为了省点钱,可以说是把各大云平台的规则摸了个门儿清。最开始,我和很多人一样,天真地以为多注册几个账号,就能像超市领优惠券一样,把新用户优惠叠起来用,实现“…

张小明 2026/1/2 12:44:19 网站建设

网站多少流量够用济南经三路专业做网站

Excel 数据分析实用技巧:目标搜索、数据表格与滚动条的运用 1. 目标搜索(Goal Seek)在不同 Excel 版本中的位置 目标搜索是 Excel 中一个实用的功能,可帮助我们根据特定结果反推输入值。不过,在不同版本的 Excel 中,找到目标搜索功能的路径有所不同。 - Excel 2003 及…

张小明 2026/1/6 17:19:39 网站建设

网站无法连接mysql昆明地推业务推广公司

Silverlight 隔离存储与本地文件读取全解析 隔离存储概述 Silverlight 代码不允许随意读写文件系统中的任意位置,否则会打破浏览器的安全沙盒模型。不过,需要永久存储数据的 Silverlight 应用程序可以使用隔离存储这一功能。 隔离存储能让你访问一小段硬盘空间,但存在一定…

张小明 2026/1/8 19:26:27 网站建设

台商区住房和建设网站wordpress如何关闭主题

在训练长视频模型时,简单的“端到端微调”往往会导致模型在推理长序列时出现幻觉(Hallucination)或输出中断。InfiniteTalk 的源码展示了一套成熟的生产级训练范式。1. 训练阶段的“双重变奏”:从对齐到指令InfiniteTalk 采用了主…

张小明 2026/1/2 12:46:29 网站建设