Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Validation of eiffel-intelligence periodic builds setup on Nordix Infrastructure #478

Open
fdegir opened this issue Oct 8, 2020 · 2 comments

Comments

@fdegir
Copy link
Member

fdegir commented Oct 8, 2020

Description

Periodic builds are setup for this project on Nordix Infrastructure as part of Eiffel Infrastructure and CI/CD establishment work Phase 1.

It is important the builds are reviewed by the project to ensure the build process is correct.
It would also be good if the artifact is fetched from Nordix Registry and verify it works.

Here are more details.

  • The job created for this project on Nordix Jenkins runs against the master branch of the project and attempts building container image using podman
  • The job regularly polls the repo for commits and gets triggered if one or more commits are found. Please note that this can be adjusted depending on the project needs and trigger can be updated such as to trigger based on new PRs.
  • Upon completion of the build, the container image is pushed to eiffel project on Nordix Container Image Registry (Please reach out to @fdegir if you need account on the registry.)

Build process.

  • When the job gets triggered, project repo is cloned and the last commit on the tip of master branch is checked out
  • Once the clone is ready, job proceed with maven build
    mvn --quiet --batch-mode package -DskipTests
  • Upon completion of maven build, the job proceeds with the command to start the container image build using the war file produced in previous step. The command used for the build is
    podman build --build-arg URL=target/eiffel-intelligence-3.0.1-SNAPSHOT.war --file src/main/docker/Dockerfile --log-level error --tag registry.nordix.org/eiffel/eiffel-intelligence:latest .
  • Image tag is set to latest since this is a build against the tip of master branch
  • The complete build script is available on Nordix CICD Repository.
  • Upon completion of the build, the container image is pushed to eiffel project on Nordix Container Image Registry
  • The image is available for anonymous users and can be pulled using either one of the commands below
    podman pull registry.nordix.org/eiffel/eiffel-intelligence:latest
    docker pull registry.nordix.org/eiffel/eiffel-intelligence:latest

What we need from you is

  • Look at the build log and let us know if you notice anything that looks strange
  • Correct the build process or the command used for the project build if they are incorrect
  • Confirm if right versions of openjdk and maven are used. openjdk version 8u265-b01-0ubuntu2~20.04 and maven version 3.6.3-1. If they are not correct, please pass the correct ones.
  • If possible, pull the image and verify it works
    podman pull registry.nordix.org/eiffel/eiffel-intelligence:latest
    docker pull registry.nordix.org/eiffel/eiffel-intelligence:latest
  • Java build artifact is not stored anywhere but it can be done and uploaded to Nordix Artifactory. Please let us know if it is desired so we fix this as well.
  • Provide your opinion about what type of builds your project needs - PR validation before merge, builds after merge, builds after release, periodic builds

and anything else you may think if.

Please note that upcoming phases will enable testing as well and we will reach out to you when the time comes.

Motivation

Setup builds for the project

Exemplification

N/A

Benefits

Project will have builds available

Possible Drawbacks

N/A

@fdegir
Copy link
Member Author

fdegir commented Oct 9, 2020

/cc @eiffel-community/eiffel-intelligence-maintainers

@m-linner-ericsson
Copy link
Member

As pointed out by @tobiasake https://github.com/eiffel-community/eiffel-intelligence-frontend is dependent on this repo and thus we might need some dependency handling. I have started a discussion with eiffel-community/community#74.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants