数据与智能

将Informatica智能云服务引入您的发布管理管道

Istock 927720230特色图像

Informatica智能云服务(IICS)现在提供了一个免费的命令行实用程序,可以使用它将ETL作业集成到大多数企业发布管理管道中。它被称为资产管理命令行接口(CLI)。版本2现在允许您将IICS作业提取到单个压缩文件中。使用脚本将单个独立的工件从开发阶段转移到QA和生产阶段,这样可以很容易地将ETL管道合并到通用的发布管理工具中。这可能会对复杂的企业发布周期的部署阶段产生深远的影响。考虑一个主要版本中的典型作战室场景,以及我们如何使用新的Informatica工具来改进部署过程。

战争的房间

在作战室(又名战况室或指挥中心),关键的利益相关者聚集在一起,集中解决一个特定的、关键的问题。主要企业版本的作战室通常关注工件的协调部署,如应用程序代码、存储和计算资源以及数据库更改。数据库更改涉及结构更改(例如:表定义)和数据迁移,这是像Informatica这样的提取转换和加载(ETL)工具发挥作用的地方。拥有CI/CD实践的团队(如应用程序开发和基础设施团队)和依赖于手动部署的团队(如数据库管理员(dba)和ETL团队)之间的区别变得非常明显。使用共同的参照系之前生产部署是断开连接的主要原因。在部署之前有一个集成的发布管理系统是有意义的。

有三个概念构成一个好的发布管理系统;源代码控制、协调工件部署的管道以及存储这些工件的版本化实例的存储库。Git实际上是一个版本控制系统,用于在软件开发期间跟踪源代码的变化。Git还可以用于跟踪任何文件集的更改。Jenkins是一个自动化服务器,它执行与构建、测试和部署代码相关的管道,通常是存储在Git回购中的代码。与Git一样,Jenkins也可以用于部署任何类型的文件,甚至不是构建和测试主题的文件。最后,可以使用像Artifactory这样的工具来存储作为部署目标的二进制文件。这是可选的,因为您可以配置您的源代码工具来存储版本。我们不会在这里演示它,但它是一个很好的工具。有几种方法尝试在CI/CD过程的开始插入Informatica,并模拟与软件开发项目相同的管道。 But Informatica is not a custom Java application, and doesn’t need to be. Invert the process and start from release management.

构建Informatica发布管道

为了构建一个Informatica发布管道,我们首先将一个Informatica项目导出为单个文件。这是将Informatica作为独立应用程序使用和将Informatica集成到企业发布管道中的关键区别。为了写这篇博客,我们假设您的组织使用GitHub进行源代码控制,使用Jenkins进行编配。开源工具非常流行,您可以很容易地找到不同应用程序的等价指令。我使用Amazon Web Services部署了这个示例,但它可以在任何公共云或私有云上工作。

设置github.

在GitHub中创建一个新的存储库来存储示例Informatica项目并部署到Jenkins中。

  1. 导航到GitHub并签署。
  2. 在您的存储库中,选择新存储库。
  3. 在导航栏上,选择Create new(+),然后选择new repository。
  4. 在创建新存储库页面中,执行以下操作:
  5. 在“存储库名称”框中,输入IICSDemo。
  6. 选择公开。
  7. 清除“使用README初始化此存储库”复选框。
  8. 选择创建存储库。

转到AWS(或其他云提供商),创建一个免费的、简单的基于linux的计算机实例。用终端连接到新实例,并执行以下命令:

mkdir ~/workspace/default && cd "$_" touch README。md git init git add README。-m "Init IICS demo" git remote add origin https://github.com/用户名/ IICSDemo。Git Git push -u origin master

现在,您有了一个可以工作的github存储库。在下一步中,我们将设置Jenkins。

设置Jenkins.

克隆为IICS CLI创建的ec2实例,并连接到另一个终端窗口中的新实例,并执行以下命令:

sudo yum安装码头工人sudo usermod - a - g码头工人ec2-user newgrp码头工人sudo systemctl使码头工人sudo systemctl开始码头工人sudo systemctl地位码头工人码头工人运行根\——rm \ - d \ \ - u - p - p 50000:50000 8080:8080 \ \——名字jenkins_iics \ - v jenkins-data: / var / jenkins_home \ - v /var/run/docker.sock: / var /运行/码头工人。docker exec -it jenkins_iics bash cat /var/jenkins_home/secrets/initialAdminPassword exit . exe /var/jenkins_home/secrets/initialAdminPassword . exe
数据智能 - 大数据的未来
大数据的未来

通过一些指导,您可以制作一个适合您组织需求的数据平台,并获得数据资本最大的回报。

得到指导

您使用管理员密码登录到Jenkins,它将在端口8080上的EC2实例的公共url上运行。创建一个新用户,这样你就不会一直用Admin登录。

来自詹金斯

  1. 单击新项目
  2. 输入“IIC默认”作为项目名称
  3. 选择自由泳项目
  4. 单击OK
  5. 向下滚动到Build部分
    1. 从“添加构建步骤”下拉菜单中选择“执行脚本”。
    2. 在命令框中,输入echo " Hello, World '
  6. 您现在可以通过单击“立即构建”来测试管道。
    1. 构建完成后,单击Console Output以验证Hello World消息已经打印出来

能够执行来自Jenkins的脚本说明您可以与几乎任何构建管道集成。你可以用脚本执行进程,移动文件等等。接下来,我们将把Jenkins集成到GitHub中。

集成GitHub和Jenkins

你将从Jenkins复制和粘贴信息到GitHub,反之亦然,所以两个标签都打开。

  1. 在詹金斯,
    1. 向下滚动到源代码管理部分
    2. 选择Git
  2. 从Github回购,
    1. 点击“使用HTTPS克隆”按钮,并将url粘贴到Jenkins中的Repository url文本框中
    2. 接下来,将Jenkins连接到Github的签入事件
      1. 导航到“设置”并单击“WebHooks”
      2. 添加Jenkins URL和Append / Jenkins / Github-Webhook(EX http://11.111.111.111/jenkins/github-webhook/)
      3. 选择Application / JSON作为内容类型
      4. 我们只想要推动事件。
      5. 单击Add Webhook

此时,我们已经将一个README文件签入GitHub和Jenkins,运行一个简单的Hello World脚本。在下一步中,我们将从IICS中将Default项目提取到git repo中,这将触发Jenkins构建。

设置IICS CLI.

报名参加Informatica智能云服务培训得到a免费实例三十天。URL的第一部分是您的POD名称(例如:Na1.dm-us.informaticacloud.com)。请注意您的区域,并确保保存您的用户名和密码。从配置Git的同一个终端实例执行以下命令。

mkdir ~/tools && cd "$_"获取https://github.com/InformaticaCloudApplicationIntegration/Tools/raw/master/IICS%20Asset%20Management%20CLI/v2/linux-x86_64/iics chmod 775 iics ./iics版本

现在您拥有了IICS Asset Management命令行接口的可执行实例,它应该是版本2。让我们看看是否可以连接到IICS实例。

./iics list --region us -podhostname na1.dm-us.informaticachloud.com --username xxxxx.xxxxx@xxxxx.xxx --password xxxxxxx

你应该看看

探索/违约。项目Explore/Default/Mapping1.DTEMPLATE

现在,将项目导出到工作目录中。

cd ~/tools ./iics export -region us——podHostName na1.dm-us.informaticacloud.com——username xxxxx.xxxxx@xxxxx.xxx——password xxxxxxx——zipFilePath ~/workspace/default/default.zip——logLevel info——artifacts探索/default。项目

现在,工作区的默认目录中应该有一个名为default.zip的压缩文件。检查它。

cd ~/workspace/default git add default.zip git commit -m "Push first export from IICS to GitHub

转到GitHub并确认您的存储库中有一个新文件。转到Jenkins,确认在提交时触发了一个新的构建。您刚刚提取了一个Informatica作业作为单个工件,将其签入GitHub并执行了一个Jenkins构建。如果您将此过程构建到您的常规程序中,您将发现将来更容易集成到大型企业项目中。在隔壁的作战室,你们会说同样的语言。

概括

这不是持续集成/持续发布周期通常支持的快速失败模型。ETL项目通常不属于这一类。IICS通常将关键业务信息从本地源系统转移到基于云的数据仓库解决方案。这些ETL项目支持快速失败项目,但它们本身通常是深度控制的主题。但是,您可以使用新的资产管理命令行接口(CLI)将Informatica Intelligent Cloud Services作业集成到标准部署管道中。

关于作者

作为一名Perficient的解决方案架构师,我有20年的开发经验,目前我正在使用Hadoop/Spark、区块链和云,用Java、Scala和Go编写代码。我通过了Hadoop, Cassandra, Spark, AWS, MongoDB和Pentaho的认证。最近,我将区块链集成(特别是Hyperledger和Ethereum)和大数据解决方案引入云端,重点集成HBase、Cassandra和Neo4J等现代数据产品作为非区块链存储库。

更多作者介绍

关于“将Informatica智能云服务纳入您的发布管理管道”的思考

发表评论

这个网站使用Akismet来减少垃圾邮件。了解如何处理评论数据

订阅每周博客文摘:

报名