问题描述
我是新手。 我正在尝试创建一个 Jenkins 管道来使用 sqitch 部署雪花。 所以,我在 Azure 的 Ubuntu 18.04 LTS 上安装了 sqitch 和 sNowsql。 我只是:
- 克隆现有的 sqitch 存储库
.git
.gitignore
sqitch
sNowflake
deploy
revert
sqitch
sqitch.conf
sqitch.plan
[connections]
accountname = acc_name
region = east-us-2.azure
username = user_name
private_key_path = "/path/rsa_key.p8"
authenticator = SNowFLAKE_JWT
- 创建 sqitch 配置:$WORKSPACE/sqitch/sNowflake/sqitch.conf
[core]
engine = sNowflake
[engine "sNowflake"]
target = dev
client = sNowsql
[target "dev"]
uri = "db:sNowflake://client.east-us-2.azure/DEV_DB?Driver=SNowflakeDSIIDriver;warehouse=DEV_WH;authenticator=SNowFLAKE_JWT;UID=DEV;PRIV_KEY_FILE=/path/rsa_key.p8;PRIV_KEY_FILE_PWD=password;"
然后我尝试运行“sqitch verify”并获得以下输出:
Trace begun at /usr/share/perl5/App/Sqitch/Engine.pm line 116
App::Sqitch::Engine::load('App::Sqitch::Engine','HASH(0x55ba14ad8ce0)') called at /usr/share/perl5/App/Sqitch/Target.pm line 55
App::Sqitch::Target::__ANON__('App::Sqitch::Target=HASH(0x55ba14ad8470)') called at (eval 278) line 22
App::Sqitch::Target::engine('App::Sqitch::Target=HASH(0x55ba14ad8470)') called at /usr/share/perl5/App/Sqitch/Command/status.pm line 113
App::Sqitch::Command::status::execute(undef) called at /usr/share/perl5/App/Sqitch.pm line 205
App::Sqitch::try {...} at /usr/share/perl5/Try/Tiny.pm line 100
eval {...} at /usr/share/perl5/Try/Tiny.pm line 93
Try::Tiny::try('CODE(0x55ba14acfb70)','Try::Tiny::Catch=REF(0x55ba15e7f2b0)') called at /usr/share/perl5/App/Sqitch.pm line 225
App::Sqitch::go('App::Sqitch') called at /usr/bin/sqitch line 14
我做错了什么? 对我来说,系统似乎缺少一些软件包左右。 Sqitch 安装如下:
sudo apt-get install sqitch libdbd-pg-perl libdbd-odbc-perl
解决方法
看起来我需要执行以下操作:
sudo apt install cpanminus && cpanm App::Sqitch