Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Bitbucket Runner - sftp-deploy

Edited
sftp-deploy:0.5.7

Hello Comunity, I am trying to deploy to on-premise via Runner using the sftp-deploy. In the figure 1 you can find the deployment yaml. The figure 2 shows the deployment logs. It seems to be running ok beacuse it donwloads the "sftp-deploy:0.5.7" image, stablish the connection with the remote host but it its not enable to stablish the sftp connection beacuse of the host key verification.

At this point, I am not pretty sure how to pass to the image the known_hosts. I tried to use the SSH_KEY configuration, but it seems that it does not fecht the Fingerprints via runners.

 

Does any of you have an idea to work this out?

Figure 1 - Deployment yaml
Deploy pipe.PNG

Figure 2 - Deployment logs

Log.PNG

 

 

3 answers

1 accepted

1 vote
Answer accepted

At the end I decided to stop using the image: "atlassian/sftp-deploy:0.5.7" and copy the artifact using sshpass using the image: "atlassian/default-image:latest". Here is the final pipeline:

Deployment with sshpass.PNG

Hi Renato,

Thank you so much. I was having sftp issue for fresh deployment with

atlassian/sftp-deploy:0.5.8. I searched a lot and tried everything but didn't work. Able to deploy files but not folder which doesn't already exist on server. Finally able to do that with ssh.

Hi Renato,

If you still have problems you can use the tutorial I followed when creating the pipeline: https://www.youtube.com/watch?v=OCA_jB1Dw0I 

The part that you need starts at 13:23

0 votes
Caroline R Atlassian Team Sep 28, 2021

Hi, @Renato Baudouin

Thank you for reaching out to Atlassian Community!

In order to further investigate this issue, could you please confirm:

  1. What is the Runner version you are using? You can find it in the Runner log on the top. 

  2. Have you fetched the host fingerprints in the Pipeline?

Thank you.

Kind regards,
Caroline

Hi Caroline,

Thank you for your response.

Here are my comments:

  1. What is the Runner version you are using?  It is Runner version: 1.174, Runner runtime: linux-docker

  2. Have you fetched the host fingerprints in the Pipeline? I am not sure how to do it. I tried to user the SSH_KEY in the repository settings, but it seems that it does not fecht the Fingerprints via runners.

Caroline R Atlassian Team Sep 29, 2021

Hi, Renato. 

Thanks for the information. It seems your Runner is not updated, so first of all, you need to upgrade the Runner version that has some bug fixes and some enhancements.

You can check in the following link how to update the runner:

Also, by your last comment, I couldn’t understand if you have fetched the host fingerprints in the Pipelines setting. So, in case you haven’t, please follow the next steps to accomplish that: 

  • Open your repository in Bitbucket

  • Click on Repository settings

  • Under the Pipelines section, open SSH keys 

  • There, you can add the known hosts and fetch the fingerprints

Please, feel free to share any additional questions or concerns regarding this case. 

Kind regards,
Caroline

Hi Caroline,

Thank you very much for your response. Yes, I tried to configure the known hosts the in the SSH key. But it is no able to fetch it, because my Remote Host is onPremise. Please check the Figure 3. So here is my questions:

  • Is there a way to indicate that the fetch should be made through the runner?

 

Figure 3 - Diagram

 Diagrama.PNG

Caroline R Atlassian Team Oct 04, 2021

Hi, Renato! 

Thank you for the additional information! In this case, you can add it in the Pipeline YML:

ssh-keyscan -p 20 -t rsa <Host URL> >> /.ssh/known_hosts

It should add the fingerprint. Please let me know how it goes and don't hesitate to ask for any further information if needed. 

Kind regards,
Caroline

Hi Caroline,

I put the ssh-keyscan statement in the script section as shown in the Figure 1. But it seems that I still have a failed deployment. 

 

Figuere 1 - YML

Deploy pipeline 2.PNG

Figure 2 - Log Error

Log 2.PNG

Caroline R Atlassian Team Oct 08, 2021

Hi, Renato!

Thanks for sharing the logs. I see that there is a code 6 there, which means "File does not exist". You have specified LOCAL_PATH, however, I don’t see any steps about the file generation.

In this case, could you please verify the file mentioned in the LOCAL_PATH variable? You can run the following command before the pipe to confirm if the directory exists and if there is something in it:

ls -lah 

Thank you. 

Kind regards,
Caroline

Hi Caroline, you where rigth. I didn't check the correct path for the artifact. I verified that it downloads the artifact to this path: "/opt/atlassian/pipelines/agent/". I correct it but neithet i could make it work. At the end I decided to stop using the image:  "atlassian/sftp-deploy:0.5.7" and copy the artifact using sshpass.

By the way thank you very much for your assistance :)

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Bitbucket

📣 Calling Bitbucket Data Center customers to participate in research

Hi everyone, Are you Bitbucket DC customer? If so, we'd love to talk to you! Our team wants to dive deep to understand your long-term plans regarding Bitbucket DC and Atlassian Cloud. Do you plan...

209 views 2 5
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you