使用terrform和Jenkins建立自动化基础设施(启动EC2和VPC)
在本博客中,我们将讨论如何使用Jenkins执行terrform代码,并设置AWS基础设施,如EC2和VPC。
对于那些不熟悉Jenkins的人来说,它是一个开源的持续集成和持续开发自动化工具,允许我们实现CI/CD工作流,称为管道。
了解建筑
什么是Terraform?- Terraform是HashiCorp交付的基础设施代码。它是一种以安全可重复的方式构建、更改和管理基础设施的工具。
詹金斯是什么?- - - - - -一种开源的持续集成/持续交付和部署(CI/CD)自动化软件DevOps工具,用Java编程语言编写。它用于实现CI/CD工作流,称为管道。
什么是代码式基础设施?—它是一个或多个文件中管理基础设施的过程,而不是在用户界面中手动配置资源的过程。
持续集成/持续部署的优点-
- 较小的代码更改更容易,后果也更小。
- 隔离故障更容易、更快。
- 通过较小的、特定的更改增强了可测试性。
Terraform包括三个阶段的工作流程:
- 写:设置资源,可以在多个云供应商和服务之间进行分配。
- 计划: Terraform为您现有的基础设施和配置创建一个工作计划,该计划描述了它将创建和更新的基础设施。
- 应用: Terraform按正确顺序完成所有操作。
在本文中,我们将介绍terrform在AWS上创建基础设施的基本功能。
- 启动一台Linux机器并安装Jenkins。
-
- 访问Jenkins Web门户
- 访问URL:http://34.201.1.206/http://:8080
-
- Admin密码被创建并存储在日志文件中。要访问密码,您需要运行以下命令。
- # cat /var/lib/jenkins/secrets/initialAdminPasswordThen,自定义jenkins之后,创建第一个Admin用户点击保存并继续…
- Admin密码被创建并存储在日志文件中。要访问密码,您需要运行以下命令。
- 在Jenkins中安装Terraform插件
-
- 在Jenkins控制台中,进入管理Jenkins >管理插件>可用>,并搜索“terrraform”。
- 配置起程拓殖
-
- 您需要使用以下命令在与Jenkins相同的服务器上手动设置terrform。
- 在管理Jenkins >全局工具配置> terrraform中
- 添加起程拓殖。
- 取消勾选“自动安装”复选框。
- 名称:起程拓殖
- 安装目录:/usr/local/bin/
- 您需要使用以下命令在与Jenkins相同的服务器上手动设置terrform。
-
- 在Jenkins的服务器上设置了Terraform之后,您将需要在Jenkins VM上安装Git,并在.tf文件中编写Terraform代码
- 将你的。tf文件推送到GitHub Git仓库中
- 对于这个项目,我已经创建了演示存储库。存储库链接:https://github.com/suraj11198/Terraform-Blog.git
- 在Jenkins的服务器上设置了Terraform之后,您将需要在Jenkins VM上安装Git,并在.tf文件中编写Terraform代码
- 将Jenkins与terrform和我们的Git Hub Repository集成
-
- 我们需要用詹金斯创建一个新项目来运行地球。
- 在Jenkins找到新项目,并输入项目名称和创建管道。
- 现在,我们将为GitHub和terrform作业编写脚本。在这里,我们可以使用Jenkins语法生成器来编写脚本。
管道{
代理任何
阶段{
阶段(“结帐”){
{步骤
checkout([$class: ' GitSCM ',分支:[[name: ' */main ']],扩展:[],userRemoteConfigs: [[url: 'https://github.com/suraj11198/Terraform-Blog.git']]])
}
}
阶段(" terraform init ") {
{步骤
Sh (' terraform init ')
}
}
舞台(“地形动作”){
{步骤
echo " Terraform action is - > ${action} "
Sh (' terraform ${action} -auto-approve ')
}
}
}
}
- 通过前面的步骤,我们应该已经成功地创建了我们的工作
- 我们的EC2实例和VPC已经创建,并且我们的EC2实例上挂载了同一个VPC
简介:
使用terrform,我们使用远程控制在AWS上构建了EC2实例和VPC。
我们已经触及了terrform和Jenkins功能的基础。它具有用于基础结构的构建、修改和版本控制的几个功能。
“完美”如何帮助你?
Perficient是经过认证的Amazon Web Services合作伙伴,在云平台解决方案、呼叫中心、应用现代化、迁移、数据分析、移动、开发人员和管理工具、物联网、无服务器、安全等领域拥有超过10年的企业级应用和专业知识。与我们行业领先的战略和团队相配合,Perficient能够帮助企业应对最严峻的挑战,并从他们的实现和集成中获得最大的收益。
做得好,Suraj,继续分享知识
写得好!
干得好,苏拉。
你分享的所有信息对初学者都很有帮助,写得好,Suraj先生,继续分享吧。它是最好的KT。
干得好,苏拉杰!它确实值得一读。
了不起的博客,非常有帮助!!