Comments (6)
While this is effectively inventing a DSL for acbuild, the rules by which it is executed should be rather non-magical, since it's a shorthand for a bash script.
from build.
As discussed OOB, we decided this wouldn't add much value and might be confused with Dockerfiles, so we're not going to pursue this.
from build.
We can reuse the dockerfile dsl as well right ? That way we dont have to reinvent something thats already popular, as well as ease the porting process from docker to acbuild. It will be hard to port them as migrating to acbuild will require every adopter to understand how acbuild works.. and write acbuild specific features. On the other route, we can just swap docker build with acbuild and test it in our build farms.
from build.
I'd prefer to not imitate their language, as then we're very close to guaranteeing that rkt behaves the same as docker. I'd prefer to have the language be based off of the current CLI syntax for acbuild, so it's very easy to understand how things are analogous to the bash files.
Once that's working, perhaps an automated dockerfile -> acbuild tool could be built (and it would probably include a bunch of disclaimers with it). If it turns out that such a conversion process can be made to be very reliable (although I bet I'll find some edge cases with that), maybe then it can be directly incorporated into acbuild the way docker2aci is used by rkt.
I also fully intend to support using acbuild via the CLI (aka how it currently works), if a script mode ever gets made. Being able to tie in other arbitrary command line tools to your build scripts is incredibly useful. Parsing the syntax for the DSL could literally be "take the line, append acbuild
to the front of it, and execute it", which would make the cost of maintaining both modes of operation much lower.
from build.
awesome. @dgonyeo will it be ok if I open a separate issue and start collecting feedback on what is acceptable from the current dockerfile DSL and what is not, ( I can start implementing those), we can decideif its worth the effort afterwards ? Im doing something very similar for nut, but thats more for Dockerfile -> lxc.
from build.
I think I'd like to add the acbuild script mode before working on a dockerfile -> acbuild transpiler. I wasn't planning on focusing on this for a while, but if you're interested in seeing it move along faster I can spare some cycles once https://github.com/appc/acbuild/milestones/v0.3.0 is done.
from build.
Related Issues (20)
- `acbuild end` accepts running as non-superuser, then fails because of that HOT 2
- script: ending the build results in "no build in progress" HOT 3
- "acbuild run" with dependency fails form inside a container HOT 5
- OCI: update for new -rc5 image-layout format
- acbuild's dependent image discovery fails when server responses with redirection HOT 1
- Negative numbers in environment variables gets translated to opt flags HOT 1
- feature request: bind mounts from the host during build HOT 1
- overlayfs does not support rename operations HOT 7
- Can I build and push to registry an OCI image which will run in docker? HOT 12
- Provide Image ID on "write" HOT 3
- echo with acbuild run writes a file on the host HOT 2
- .aci increases in size with each build HOT 5
- 'file name too long' error on aci's built with v0.4.0 HOT 4
- Incremental build? HOT 5
- 'Error: overlayfs not supported on your system' with LXD Container HOT 4
- /dev, /proc and /sys are not mounted in my running rkt container HOT 6
- systemd-nspawn: unrecognized option '--setenv' HOT 1
- Created date annotation restrictions need to be documented or removed. HOT 3
- New import path for xz package HOT 1
- archive? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from build.