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

AGDIGGER-21 - android slave docker image #6

Merged
merged 2 commits into from Nov 30, 2016

Conversation

wtrocki
Copy link
Contributor

@wtrocki wtrocki commented Nov 29, 2016

Motivation

WIP for android docker image.
Slave for android and cordova builds

Creating to open conversation about possible ways to support android versions.
For now the latest android and cordova are supported.

TODO

Cordova support (not required at the moment)
Squashing image laters (moved to stages for visibility and to open conversation about the changes.
Open questions for the team in comments.


RUN android list targets

# Create emulator
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we create emulator at the moment?
I see this as separate implementation to enable and document app testing.
We would need to have some predefined pipeline steps to cover that part (wrapper)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Btw. Emulator can be created as part of the jenkins file or library etc.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's not yet worry about the emulator

# Install build dependencies
RUN yum install -y git wget python curl
## Support native builds
# RUN yum install gcc gcc-c++ make openssl-devel
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably need to install native tooling and support native builds. Maybe we can create separate Jenkinsfile for native stuff? Create some low priority jira for that?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I understand this question

# --sdcard 512M

# Install Cordova
#RUN npm install -g cordova
Copy link
Contributor Author

@wtrocki wtrocki Nov 29, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Running and installing cordova directly has many drawbacks and I do not feel we should do it this way. Locking up image to one version may be really bad idea. Suggestions:

  • npm install -g cordova in Jenkins file (longer builds)
  • Separate docker image that is basing on this image with cordova installed (more hassle to update)
  • Docker volume with multiple cordova command line tools installed and some support in jenkins file to "mount" proper version on demand (probably to large to be done initially)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

npm install -g cordova in pipeline files sounds like a good, first step to me. This gives FLEXIBILITY to users/developers. I think folks understand that it means longer builds (if one has used travis before, folks know)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for confirmation. Lets have it that way. Should we create something to cover 3 point?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@wtrocki
Copy link
Contributor Author

wtrocki commented Nov 29, 2016

Image pushed to dockerhub for testing.

RUN cd /opt && chown -R root.root android-sdk-linux && \
chmod -R 777 /opt/tools && \
/opt/tools/android-accept-licenses.sh "android-sdk-linux/tools/android update sdk --all --no-ui --filter platform-tools,tools" && \
/opt/tools/android-accept-licenses.sh "android-sdk-linux/tools/android update sdk --all --no-ui --filter platform-tools,tools,build-tools-21.0.0,build-tools-21.0.1,build-tools-21.0.2,build-tools-21.1.0,build-tools-21.1.1,build-tools-21.1.2,build-tools-22.0.0,build-tools-22.0.1,build-tools-23.0.0,build-tools-23.0.3,build-tools-24.0.0,build-tools-24.0.1,build-tools-24.0.2,build-tools-24.0.3,build-tools-25.0.0,android-21,android-22,android-23,android-24,android-25,addon-google_apis_x86-google-21,extra-android-support,extra-android-m2repository,extra-google-m2repository,extra-google-google_play_services,sys-img-armeabi-v7a-android-24"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not OK to do.

That's why for the other digger-build-container we used the 3rd party container

Copy link
Contributor Author

@wtrocki wtrocki Nov 29, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah. That ticket is just about enabling builds (spike). We have separate ticket to get that extracted. This should not be a big problem. I have some ideas how to resolve this problem on openshift.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure I follow.

but legally we can't do this suggested way

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We going to move this in separate ticket to the external volume.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@matzew
Copy link
Contributor

matzew commented Nov 30, 2016

ship it for - improving later /cc @odra

@wtrocki wtrocki force-pushed the AGDIGGER-21 branch 2 times, most recently from a4552dc to f48177d Compare November 30, 2016 17:27
@wtrocki wtrocki merged commit dee76c0 into aerogear:master Nov 30, 2016
@wtrocki wtrocki deleted the AGDIGGER-21 branch November 30, 2016 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants