<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>自动化部署 on 翟志军 Jack Zhai</title>
    <link>https://showme.codes/tags/%E8%87%AA%E5%8A%A8%E5%8C%96%E9%83%A8%E7%BD%B2/</link>
    <description>Recent content in 自动化部署 on 翟志军 Jack Zhai</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>showme.codes</copyright>
    <lastBuildDate>Tue, 05 Mar 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://showme.codes/tags/%E8%87%AA%E5%8A%A8%E5%8C%96%E9%83%A8%E7%BD%B2/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>回滚的两种模式</title>
      <link>https://showme.codes/zh-cn/2024-03-05-rollback-pattern/</link>
      <pubDate>Tue, 05 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://showme.codes/zh-cn/2024-03-05-rollback-pattern/</guid>
      <description>很多人只知道其中一种</description>
    </item>
    <item>
      <title>使用 Jenkins &#43; Ansible 实现自动化部署 Nginx</title>
      <link>https://showme.codes/zh-cn/2019-04-22-jenkins-ansible-nginx/</link>
      <pubDate>Mon, 22 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://showme.codes/zh-cn/2019-04-22-jenkins-ansible-nginx/</guid>
      <description>&lt;p&gt;本文介绍如何使用 Jenkins + Ansible 实现对 Nginx 的自动化部署。最终达到的效果有如下几点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;只要你将 Nginx 的配置推送到 GitHub 中，Jenkins 就会自动执行部署，然后目标服务器的 Nginx 配置自动生效。这个过程是幂等（idempotent）的，只要代码不变，执行多少遍，最终效果不变。&lt;/li&gt;
&lt;li&gt;如果目标机器没有安装 Nginx，则会自动安装 Nginx。&lt;/li&gt;
&lt;li&gt;自动设置服务器防火墙规则。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;1-实验环境介绍&#34;&gt;1. 实验环境介绍&lt;/h2&gt;
&lt;p&gt;本次实验使用 Docker Compose 搭建 Jenkins 及 Jenkins agent。使用 Vagrant 启动一台虚拟机，用于部署 Nginx。使用 Vagrant 是可选的，读者可以使用 VirtualBox 启动一个虚拟机。使用 Vagrant 完全是为了自动化搭建实验环境。&lt;/p&gt;
&lt;p&gt;以下是整个实验环境的架构图：
&lt;img alt=&#34;Jenkins Ansible Nginx&#34; loading=&#34;lazy&#34; src=&#34;https://showme.codes/assets/images/292372-ab578a7d0b27c4c6.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;注意，图中的 &lt;code&gt;5123 &amp;lt;-&amp;gt; 80&lt;/code&gt; 代表将宿主机的 5123 端口请求转发到虚拟机中的 80 端口。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vagrant：虚拟机管理工具，通过它，我们可以使用文本来定义、管理虚拟机。&lt;/li&gt;
&lt;li&gt;Ansible：自动化运维工具&lt;/li&gt;
&lt;li&gt;Docker Compose：它是一个用于定义和运行多容器 Docker 应用程序的工具。可以使用YAML文件来配置应用程序的服务。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;2-启动实验环境&#34;&gt;2. 启动实验环境&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;克隆代码并进入文件夹&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/zacker330/jenkins-ansible-nginx.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; jenkins-ansible-nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;构建 Jenkins agent 的镜像
需要自定义 Jenkins agent 镜像有两个原因：&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
