当前位置: 首页 > news >正文

相亲网站源码php模版wordpress听歌插件

相亲网站源码php模版,wordpress听歌插件,阿里巴巴logo图片,wordpress迷上期已经将容器项目的告警补充完成,这期在补充下ansible的相关部署内容,项目我使用的是自建的运维测试项目。1. Ansible 目录结构# 代码目录结构 tree -L 3 . ├── Ansible # Ansible部署脚本目录 │ ├── HelloWorld-Pipeline # 按Jenkins项目名…

上期已经将容器项目的告警补充完成,这期在补充下ansible的相关部署内容,项目我使用的是自建的运维测试项目。

1. Ansible 目录结构

# 代码目录结构
tree -L 3
.
├── Ansible # Ansible部署脚本目录
│   ├── HelloWorld-Pipeline  # 按Jenkins项目名建立playbook文件夹
│   │   ├── deploy.yml  # 部署脚本
│   │   ├── hosts # 主机清单
│   │   └── rollback.yml # 回滚脚本
│   └── Readme.md
├── Jenkinsfile
│   ├── Helloworld-Pipeline-DockerSlave.jenkinsfile
│   ├── HelloWorld-Pipeline.jenkinsfile
│   └── Readme.md
├── Readme.md
├── src
│   └── org
│       └── foo
└── vars└── Readme.md

2. Ansible部署脚本(deploy.yml)

---
- name: Deploy Docker containerhosts: testbecome: yesvars:# 这些变量都会从Jenkins中传入new_image_name: "{{ new_image_name }}"container_name: "{{ container_name }}"docker_registry: "{{ docker_registry }}"  docker_username: "{{ docker_username }}" docker_password: "{{ docker_password }}"tasks:- name: Login to Docker registrydocker_login:registry: "{{ docker_registry }}"username: "{{ docker_username }}"password: "{{ docker_password }}"- name: Pull the latest Docker imagedocker_image:name: "{{ new_image_name }}"tag: latestsource: pull- name: Stop and remove old container if existsdocker_container:name: "{{ container_name }}"state: absentignore_errors: yes  # 忽略错误,确保后续任务继续执行- name: Run new containerdocker_container:name: "{{ container_name }}"image: "{{ new_image_name }}"state: startedrestart_policy: alwayspublished_ports:- "8888:8080"  # 映射主机的8888端口到容器的8080端口- name: Remove unused Docker imagescommand: docker image prune -f --filter "until=24h"  # 清理24小时内未使用的镜像,这个根据自己情况register: prune_result

3. Ansible部署脚本(rollback.yml)

---
- name: Deploy Docker containerhosts: testbecome: yesvars:# 这些变量都会从Jenkins中传入new_image_name: "{{ rel_image_name }}"container_name: "{{ container_name }}"docker_registry: "{{ docker_registry }}"docker_username: "{{ docker_username }}"docker_password: "{{ docker_password }}"ansible_python_interpreter: /usr/bin/python3tasks:- name: Login to Docker registrydocker_login:registry: "{{ docker_registry }}"username: "{{ docker_username }}"password: "{{ docker_password }}"- name: Pull the latest Docker imagedocker_image:name: "{{ rel_image_name }}"tag: latestsource: pull- name: Stop and remove old container if existsdocker_container:name: "{{ container_name }}"state: absentignore_errors: yes- name: Run new containerdocker_container:name: "{{ container_name }}"image: "{{ rel_image_name }}"state: startedrestart_policy: alwayspublished_ports:- "8888:8080"- name: Remove unused Docker imagescommand: docker image prune -f --filter "until=24h"register: prune_result

4. Hosts

[test]
192.168.1.98

5.Jenkins传入变量的代码片段(在前面2片文章有写)

pipeline {//.......省略stages {//.......省略//这里开始传入相关变量stage('Ansible Deploy') {steps {ansiColor('xterm') { // 启用 AnsiColorecho "${PURPLE}Ansible 部署项目${RESET}"}script {sh "git clone ${OPS_SHARE_LIBRARY} ./ops-share-librarya"withCredentials([usernamePassword(credentialsId: 'Harbor', usernameVariable: 'HARBOR_USERNAME', passwordVariable: 'HARBOR_PASSWORD')]) {def extraVars = [container_name: "${CONTAINER_NAME}",docker_registry: "${HARBOR_URL}",docker_username: "${HARBOR_USERNAME}",docker_password: "${HARBOR_PASSWORD}"].collectEntries { [(it.key): it.value] }// 根据 BRANCH_TAG 的值添加特定的参数if (!env.BRANCH_TAG.startsWith('rel-')) {// 正常部署时添加的参数extraVars['new_image_name'] = "${REGISTRY_URL}/${PROJECT_GROUP}/${PROJECT_NAME}:${_tag}"// 执行正常的部署ansiblePlaybook(playbook: "./ops-share-librarya/Ansible/HelloWorld-Pipeline/deploy.yml",inventory: "./ops-share-librarya/Ansible/HelloWorld-Pipeline/hosts",extraVars: extraVars)} else {def branchTag = env.BRANCH_TAGdef extractedValue = branchTag.replaceFirst(/^rel-/, '')  // 去掉前缀 "rel-"println "Extracted Value: ${extractedValue}"  // 输出提取的值// 回滚时添加的参数extraVars['rel_image_name'] = "${REGISTRY_URL}/${PROJECT_GROUP}/${PROJECT_NAME}:${extractedValue}"// 执行回滚ansiblePlaybook(playbook: "./ops-share-librarya/Ansible/HelloWorld-Pipeline/rollback.yml",inventory: "./ops-share-librarya/Ansible/HelloWorld-Pipeline/hosts",extraVars: extraVars)}}}}}//.......省略}
}

6.部署测试

image-20250916184452063

image-20250916184452063

容器项目的相关流水线到这里基本都已经搞完了,目前完成了落项目部署和容器项目部署的流水线,但是这些也只是作为模板,后面还要优化迭代。

http://www.dtcms.com/a/582484.html

相关文章:

  • 微网站 服务器在线设计logo图案免费
  • stm32 gpio 先写电平再初始化,是否可行?
  • 数字签名、 数字信封、数字证书
  • 马云的网站是谁建设的wordpress多广告位
  • Leetcode 47
  • 营销型网站分类自己服务器可以做网站
  • EtherCAT命令整理
  • Windows 常用命令行(CMD/PowerShell 通用,标注差异)
  • 小迪安全v2023学习笔记(一百四十五讲)—— Webshell篇魔改冰蝎打乱特征指纹新增加密协议过后门查杀过流量识别
  • 网站源码做exe执行程序域名被墙查询检测
  • HarmonyOS:ArkWeb在新窗口中打开页面
  • 青岛谁做网站多少钱做网站大概需要多少费用
  • jmeter内存踩坑记录
  • 浙江建设职业技术学院网站彬县网
  • PowerShell 和 CMD
  • EFS `<br>` 标签渲染修复:从文本到换行的完整解决方案
  • 怎样在建设厅网站查询安全员证彩票网站开发与建设
  • 创建一个网站要钱吗梅林网站建设公司
  • 成都小程序定制开发企业网站怎样做seo优化 应该如何做
  • Java中的设计模式------策略设计模式
  • 太原做网站设计电子商务网站设计原理书籍
  • 网站服务器迁移企业管理咨询机构
  • Redis —— 架构概览
  • 筑牢用电防线:Acrel-1000 自动化系统赋能 35kV 园区高效供电-安科瑞黄安南
  • 青海住房和城乡建设部网站山东省城乡建设厅官网
  • 哈尔滨智能建站模板厦门 网站建设 网站开发
  • 第3节 RSA算法开启公钥加密时代
  • 昆山做网站公司哪家好青岛市黄岛区城市建设局 网站
  • 从正确到卓越:昇腾CANN算子开发高级性能优化指南
  • 网站建设 国家标准微网站自助建站