The Atlassian Community Forums are currently in read-only mode. We will be relaunching on a new platform on September 22 (read more here). We apologize for the extended downtime. For concerns or questions, please email communitymanagers@atlassian.com. See you on the other side, on the new Atlassian Community Forums! :)

×

Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Going to install a large, embedded tool. How to proceed with pipelines/docker?

Mike Medved
Contributor
February 18, 2019

Hi -

I'd like to build a project for an embedded system which uses a headless Eclipse-based build.  No, I can't get away with not using Eclipse, I'm actually using Atollic TrueStudio to build for an STM32 part.

I'm not too far down the road, and my first thought was, well build a docker image with the tool installed, push it up to docker hub, and use that in your pipelines.  However, after putting the tool into the docker image, the size is pretty big (like 800MB), and thats after I've removed a bunch tools which aren't required.

That gave me second thoughts, and as I was reading, I saw pipelines have caching.  So I guess my question is - could I unzip the tool (from the downloads section of a repo?) in the pipeline, cache it, and then use it in subsequent builds?  That way, I can just use a really small vanilla Ubuntu 18.04 docker image?

The worry, of course, is build minutes.  I have no idea, but I assume pullling nearly a gig each time that pipeline runs is time consuming.

Thoughts?

1 answer

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

0 votes
StannousBaratheon
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 24, 2019

Hi @Mike Medved 

Pipelines automatically caches the Docker image used by your build so you might find that there is no real benefit by using the caching feature over the Docker image as you originally intended. I would certainly recommend starting with an image as the simplest solution and only investigating alternatives if you find it to be a problem.

You can of course also use caching as you suggested although caches are intended for dependencies and automatically expire after a week (the image cache also expires but it's not a fixed interval, it's indeterministic and depends on a number of factors like how frequently the image is used).

In terms of build minutes used, an 800MB cache would typically take around 20-30 seconds to download however please not that times are averages provided as a guide only and are not guaranteed for any single build.

I hope this helps.

Mike Medved
Contributor
February 25, 2019

@StannousBaratheon Thanks a lot, this does help!  It's actually the way I ended up going while waiting for feedback.

TAGS
AUG Leaders

Atlassian Community Events