I have a private package I'd like to install and package with an AWS Lambda deployment using serverless deploy pipe.
I have the following package format in the `requirements.txt` file
git+ssh://git@bitbucket.org/orgname/thelibrary.git@v0.1.1
This works outside of the serverless deploy pipe when running `pip install -r requirements.txt`.
I've set up an SSH key on the repository for the serverless application and I've added the SSH key to the private package repository.
When I am trying to install within the serverless deploy pipe, I get this error ( also scrubbed org name and repository name in the output):
Generated requirements from /opt/atlassian/pipelines/agent/build/requirements.txt in /opt/atlassian/pipelines/agent/build/.serverless/requirements.txt
Installing requirements from "/root/.cache/serverless-python-requirements/0c5359442d26dbfb99408628d71fd97eec048649b5f2c75197c9f0eedeb2270e_x86_64_slspyc/requirements.txt"
Using download cache directory /root/.cache/serverless-python-requirements/downloadCacheslspyc
Running ...
Stdout: Collecting git+ssh://****@bitbucket.org/orgname/thelibrary.git@v0.1.1 (from -r /root/.cache/serverless-python-requirements/0c5359442d26dbfb99408628d71fd97eec048649b5f2c75197c9f0eedeb2270e_x86_64_slspyc/requirements.txt (line 1))
Cloning ssh://****@bitbucket.org/orgname/thelibrary.git (to revision v0.1.1) to /tmp/pip-req-build-_p1kws94
Stderr: Running command git clone --filter=blob:none --quiet 'ssh://****@bitbucket.org/orgname/thelibrary.git' /tmp/pip-req-build-_p1kws94
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
error: subprocess-exited-with-error
× git clone --filter=blob:none --quiet 'ssh://****@bitbucket.org/orgname/thelibrary.git' /tmp/pip-req-build-_p1kws94 did not run successfully.
│ exit code: 128
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× git clone --filter=blob:none --quiet 'ssh://****@bitbucket.org/orgname/thelibrary.git' /tmp/pip-req-build-_p1kws94 did not run successfully.
│ exit code: 128
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
WARNING: You are using pip version 22.0.4; however, version 23.2.1 is available.
You should consider upgrading via the '/usr/local/bin/python3.9 -m pip install --upgrade pip' command.
Is it possible to install private packages in this method within the serverless deploy pipe or will I have to create my own script to deploy serverless applications without using the pipe?
Hi @Sam Mahr
Thank you for your question!
According to your case, we suggest you to try PRE_EXECUTION_SCRIPT variable to execute script file with some logic with your SSH_KEY.
Please, follow the example how to setup SSH inside a pipe's docker container.
Example passing pre-execution hook script file (file should have at least read and execute permissions):
script: - chmod 005 setup-ssh-script.sh - pipe: atlassian/serverless-deploy:1.3.0 variables: AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY PRE_EXECUTION_SCRIPT: '.setup-ssh-script.sh'
Best regards,
Oleksandr Kyrdan
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.