Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Limitations quarkus native compilation

Francisco Gil A July 22, 2022

I am writing this post to see what configuration would be best for our native Quarkus builds. As I have seen in other posts, I need a lot of RAM, so I am trying to configure the step with 8GB (2x) and applying a 5g configuration when compiling natively (now I have it at 4g -Dquarkus.native.native-image-xmx=4g  because otherwise it fails). Thank you very much


image
: atlassian/default-image:2

options:
max-time: 20

definitions:
steps:
- step: &build-docker
max-time: 25
image: quay.io/quarkus/ubi-quarkus-native-image:22.0.0-java11
name: Build Docker Image
script:
- ./mvnw package -Pnative -Dmaven.test.skip -Dquarkus.native.native-image-xmx=4g
- docker build -f src/main/docker/Dockerfile.native -t ****:$BITBUCKET_BUILD_NUMBER .
- docker save --output ****.docker ****:$BITBUCKET_BUILD_NUMBER
artifacts:
- ****.docker
services:
- docker
size: 2x
caches:
- docker
- step: &push-docker-pre
max-time: 10
image: google/cloud-sdk:382.0.0
name: Push Docker Image
script:
- ENVIRONMENT="pre"
- GOOGLE_PROJECT_ID="****-pre"
- docker load --input ./****.docker
- ****
- ****
services:
- docker
size: 2x
caches:
- docker
pipelines:
branches:
develop:
- step: *build-docker
- step: *push-docker-pre
default:
- step: *build-docker

 

1 answer

0 votes
Patrik S
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 26, 2022

Hello @Francisco Gil A ,

Welcome to Atlassian Community!

I can't tell specifically for Quarkus what are the memory requirements, but with respect to pipelines, when running your builds in bitbucket pipelines infrastructure each step will run in a separate container that has 4 GB of memory available, and this can be increased to 8GB by using the size: 2x attribute when defining the step.

In case you need more than 8GB of memory, you have the option to run your build in your own infrastructure by using self-hosted runners. With runners you can configure the step size to be 2x (8GB), 4x (16GB), and up to 8x (32GB). Please note that the machine where you are executing the runner needs to have this memory available to be used. Also, since runners run in your own infrastructure, the steps that use runners will not be counted against your build minutes quota.

Hope that helps to clarify your questions!

Thank you, @Francisco Gil A .

Kind regards,

Patrik S

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
TAGS
AUG Leaders

Atlassian Community Events