currently i am using my own docker image in self hosted runner which contain packages like (sfdx ,volta ,sgd ) .But when i run a bitbucket pipeline it create its own container . do i need to installed all the packages that i installed in runner container again , or the runner packages will reflect in that bitbucket pipeline container ?
Hi @Adarsha Shrestha ,
If you are using a Linux Docker Runner, then the builds indeed do not run in the runner's container.
For every step of your build, another Docker container starts (the build container) using the image you have specified in your bitbucket-pipelines.yml file. If you use a service for a step, then another Docker container will start for the service which will share a network adapter with your build container. The repo is cloned in the build container, and then the commands of the step's script are executed. When the step finishes, the build container and any service containers get destroyed.
If you want to use certain packages, they need to be pre-installed in the image you specify as a build container in your bitbucket-pipelines.yml file or you can install them during the build. You can always build your own custom Docker image with only the tools you need for your builds, and use that in the yml file. We support public and private Docker images including those hosted on Docker Hub, AWS, GCP, Azure and self-hosted registries accessible on the internet:
Kind regards,
Theodora
Technically, if you can control the container command, you can add a mount to your installed packages location which should enable you to expose the packages to the container.
Few things that you'll need to consider:
And there are probably few more things to consider.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.