Vertica 与 GitLab¶
关于本文档¶
本次技术探索的目标是检查 Vertica 与 GitLab 的连接。我们使用了 GitLab 试用版,并通过 GitLab CI/CD 测试了集成。在完成初始设置后,可以从 GitLab 远程目录推送和拉取 Vertica SQL 文件,然后通过 GitLab CI/CD 在 GitLab Web 界面中执行 Vertica SQL 脚本。我们还使用 Linux 和 Git 支持的数据库 IDE(DataGrip)测试了集成。您可以使用任何支持 Git 的 IDE。
本文档涵盖三种连接方式: - 使用 GitLab CI/CD 连接 - 使用 Linux 连接 - 使用 DataGrip IDE 连接
测试环境¶
- Git 2.27.0
- Vertica Analytic Database 11.0.2
- Windows Server 2019 Standard
- Linux Redhat 8.3
- DataGrip 2021.3
方式一:使用 GitLab CI/CD 连接¶
前提条件¶
- 安装 Vertica ODBC 客户端,按照安装步骤操作。
- 在 Linux 机器上使用
yum install git安装 Git。 - 在 GitLab 创建账户,在 GitLab 仓库中创建新项目。
- 配置 Git 全局参数用于 Git 操作。
- 在 Linux 机器上创建 SSH 文件,在 GitLab Web 环境中进入 Edit Profile > SSH Keys,粘贴 SSH key,点击 Add key。
- 在 Linux 机器上使用
yum install gitlab-runner安装 GitLab runner,检查版本。 - 使用
gitlab-runner stop停止 runner。 - 使用
gitlab-runner register注册 runner,输入以下信息: - GitLab Instance URL:输入 GitLab 实例 URL,如
https://gitlab.com/ - Registration Token:在 GitLab Web 环境的项目设置中,进入 Settings > CI/CD,展开 Runners 部分,复制注册令牌
- Description:输入 runner 的描述
- Tags:输入所需标签,如
ssh、ci等 - Executor:输入所需的执行器,示例中使用
shell - 使用 Git clone 命令在 Linux 机器上克隆 GitLab 远程目录。
推送 Vertica SQL 文件到 GitLab 远程目录¶
- 在 Linux 机器的本地 GitLab 仓库中创建 Vertica SQL 文件
factorial.sql: - 检查本地 Git 仓库状态。
- 添加
factorial.sql文件到 Git 仓库并提交。 - 使用 Git Push 命令推送更改到 GitLab 远程目录。
- 刷新 GitLab Web 环境查看新添加的文件。
从 GitLab 远程目录拉取 Vertica SQL 文件¶
- 在 GitLab Web 环境的远程仓库中创建 Vertica SQL 文件
callfactorial.sql: - 在 Linux 终端中,导航到 Git 本地仓库,执行
git pull命令。
从 GitLab CI/CD 执行 Vertica SQL 脚本¶
- 在 Linux 机器上编辑
/etc/systemd/system/gitlab-runner.service,移除--user "gitlab-runner"文本。 - 使用
gitlab-runner restart重启 gitlab-runner。 - 在 GitLab Web 环境的项目主页中,点击左侧导航的 CI/CD。
- 点击 Use template 创建
.gitlab-ci.yml文件。 - GitLab 提供包含 Build/Test/Deploy 阶段的示例
.yml文件。 - 编辑
.yml文件,输入在 GitLab 远程仓库上执行脚本的命令,例如:script: - /home/opt/vertica/bin/vsql -h <IP_Address> -p 5433 -d vertica_db -U dbadmin -w vdb -f ./factorial.sql - /home/opt/vertica/bin/vsql -h <IP_Address> -p 5433 -d vertica_db -U dbadmin -w vdb -f ./callfactorial.sql这些命令包含 gitlab-runner 所需的 vsql 二进制文件路径、数据库相关标志以及远程仓库中文件的名称。
- 提供提交消息并点击 Commit changes 保存
.yml文件。CI/CD 管道在提交更改后立即启动。点击 View pipeline 查看。 - 作业日志显示
.yml文件中命令所执行的操作。
方式二:使用 Linux 连接¶
前提条件¶
按照"使用 GitLab CI/CD 连接"部分的前提条件步骤 1-6 操作,并使用 Git clone 命令将 GitLab 远程目录克隆到 Linux 机器。
推送和拉取¶
推送和拉取步骤与方式一相同。
从 Linux 执行 Vertica SQL 脚本¶
调用 vsql 执行脚本:
- 创建阶乘存储过程:
- 执行阶乘存储过程:
方式三:使用 DataGrip IDE 连接¶
前提条件¶
- 在 GitLab 创建账户,创建新项目。
- 从 JetBrains 网站 在 Windows 机器上安装 DataGrip。
- 根据所使用的 IDE 下载 Vertica JDBC/ODBC 客户端。
克隆 Git 远程仓库到本地仓库¶
- 在 Windows 机器上启动 DataGrip。点击 New Project,输入项目名称,点击 OK。
- 点击 File > Data Sources。点击 Drivers 选项卡,滚动选择 Vertica。点击
+号选择 Vertica,输入数据库详情,点击 Test Connection,点击 OK。工具自带的默认驱动是 9.2.0。如需使用其他版本,可从 Data Sources 的 Drivers 选项卡导入 JDBC JAR 文件。
- 在工具栏菜单中,点击 Git > Create Git Repository,输入名称和位置,点击 OK。
- 点击 Git > Enable Version Control Integration 启用 Git 操作。从下拉列表中选择 Git,点击 OK。
- 点击 Git > Clone,提供 Git 远程和本地仓库详情,点击 Clone。
- 输入用户名和密码,点击 Log In。
推送 Vertica SQL 文件到 GitLab 远程目录¶
- 在 Windows 机器的本地仓库中创建
factorial.sql文件(内容同上)。 - 在工具栏菜单中,点击 Git > Commit。选择所需文件,输入提交消息,点击 Commit(仅提交)或 Commit and Push(提交并推送)。或者点击 Git > Push 推送更改到远程仓库。
从 GitLab 远程目录拉取 Vertica SQL 文件¶
- 在 GitLab Web 环境的远程仓库中创建
callfactorial.sql文件: - 在 DataGrip 中点击 Git > Pull 从远程仓库获取更改到本地仓库。选择本地 Git 仓库分支,点击 Pull。
- 提供 Git 登录凭据,点击 Log In。
更多信息¶
原文来源:https://www.vertica.com/kb/GitLab_TE/Content/Partner/GitLab_TE.htm
