There are a number of tools these days for configuring virtual machines like Vagrant or Docker. The way they are used in web application deployment, a developer works on the app in a local container or VM, then deploys to production. The configuration tool guarantees that the configuration is identical on the production server as it is on the local developer?s machine. The configuration files are generally small text files that can be checked into git.
If you could use Docker (or Vagrant) to set up an Android and/or Tizen development environment locally. If you check in the configuration and Linux Foundation configures Jenkins to build and deploy Docker images from the repo, this would have several benefits: 1. You can do all the configuration in your local environment where it is easiest to work 2. The build machine will get an identical build environment to your local Docker environment 3. The environment will be version controlled and live in the repo, so different branches can have different build environments 4. Other developers can run the script to set up an equivalent build environment (this makes documentation easier) I did a sample Vagrant build environment for Linux early on and put the configuration files in <iotivity>/tools/vagrant. It has not been maintained, but might be an interesting place to start. Once you have Vagrant and VirtualBox installed, you can build and start the image with ?vagrant up?. Docker might be a more lightweight way to setup the build environment images. I am less familiar with it, but others may be able to help. With help from someone who knows the tools, getting an environment set up this way should not be a lot more work than just manually configuring a machine. In the long run, it will help accelerate development, because there will be canonical scripts new developers can use to boostrap their development environments. Bill. From: iotivity-infratructure-bounces at lists.iotivity.org [mailto:[email protected]] On Behalf Of ???(Uze Choi) Sent: Wednesday, May 20, 2015 4:03 AM To: Brian Warner Cc: iotivity-dev at lists.iotivity.org; iotivity-infratructure at lists.iotivity.org Subject: [Iotivity-infratructure] [Jenkins request] RE: RE: Build check request for every commit for Android and Tizen platform. Hi Brian (LF tech. manager), We are suffering from check whether build works well or not for Android and Tizen platforms. However, setting the environment does not seem to be easy as I described as below. Could you provide the solution to resolve it ASAP? Or any suggestion? BR, Uze Choi From: ???(Uze Choi) [mailto:[email protected]] Sent: Wednesday, May 20, 2015 2:03 PM To: 'Morrow, Joseph L'; 'heesung84.kim at samsung.com'; 'iotivity-dev at lists.iotivity.org'; '???' Cc: '???'; 'iotivity-infratructure at lists.iotivity.org' Subject: RE: RE: [Iotivity-infratructure] Build check request for every commit for Android and Tizen platform. Hi, Joey, Let me summarize the current situation. We need to enable the build checking and later the unit test checking for multi-platform. Currently Ubuntu build and unit testing is done thru Jenkins build. For the Android, Jenkins may not work.. Then who can enable to do it? Your comment seems to point out, we need to check the build output console from Jenkins log and request LF to do some remedy such as NDK configuration in the Jenkins server for each build break. As far as I know, we wasted so much time for Android build check in the Jenkins. For the Tizen, this is not easy task I think from scratch. I?m not sure they are able to do build for Tizen platform as of now. Every day we tested whether Tizen and Android platform build work or not which takes so much developer resource. What could be solution? In my opinion, let LF enable this build check for multi-platform. What is your opinion? BR, Uze Choi From: Morrow, Joseph L [mailto:[email protected]] Sent: Wednesday, May 20, 2015 12:43 AM To: heesung84.kim at samsung.com<mailto:heesung84.kim at samsung.com>; ???; iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org>; ??? Cc: ???; iotivity-infratructure at lists.iotivity.org<mailto:iotivity-infratructure at lists.iotivity.org> Subject: RE: RE: [Iotivity-infratructure] Build check request for every commit for Android and Tizen platform. Hi Kim Hee Sung, The build server is hosted by Linux Foundation. This means that the server is physically with Linux Foundation. There are obvious concerns wrt. giving direct access to the build server to anyone. AFAIK, the relationship of IoTivity with Linux Foundation is that we agree to simply create tickets (ie. write emails to iotivity-helpdesk at rt.linuxfoundation.org<mailto:iotivity-helpdesk at rt.linuxfoundation.org>) for all changes to the build server (to install the NDK and other things). This gives us a proper trail of all changes that is closely monitored. In any other case, breakages may easily occur without a trail (and therefore would be hard to fix). If you?re looking to make SConscript changes (ie. install the NDK to an End User?s machine automatically, all you need to do is simply edit the SConscripts in our repo).
