DotCi requires you to use Docker compose https://docs.docker.com/compose/
.ci.yml has three main sections
##Run
-
Run a service from docker-compose.yml with default
CMD
defined in theDockerfile
run:
test:
goal: how to build an awesome CI for your organization. | |
Couple of years ago I was webdeveloper at Groupon working on a monlithic RoR webapp. | |
We had grown rapidly and the webapp saw incredible amount of work put in. This also bought in lots of cucumber tests and our build time shot up to 40 mintues. | |
My Name is Surya Gaddipati, This is my story of my epic journey to build an awesome CI at groupon. | |
CI is often setup as afterthought | |
> Teams consider it unimportant in grand scale of things | |
> Teams often don't have the experience, interest |
The problem was to find the unique assignment of the ten decimal digits to letters that makes this addition correct: | |
DONALD + KNUTH = OUTPUT |
db.run.update({ timestamp: { $exists: true}},{$rename: {'timestamp': 'scheduledDate'}}) | |
update build_number_sequence with intial values |
Recent Project improvements | |
Rebuild doesnt work for subbuilds because of urls | |
Is not kicking off job with org name in different case | |
PR kicking off even in the same | |
Syed . Error | |
java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.String | |
java.lang.RuntimeException: java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.String | |
at com.groupon.jenkins.util.GroovyYamlTemplateProcessor.getConfig(GroovyYamlTemplateProcessor.java:50) | |
at com.groupon.jenkins.buildtype.install_packages.buildconfiguration.BuildConfiguration.<init>(BuildConfiguration.java:44) |
<% if( ! DOTCI_STAGE ) %> | |
run: blah | |
plugins: | |
- artifact: my.jar | |
- downstream: | |
myorg/myjob: | |
BRANCH: $DOTCI_BRANCH | |
SHA: $DOTCI_SHA | |
DOTCI_STAGE: package | |
UPSTREAM_NUMBER: $BUILD_NUMBER |
DotCi requires you to use Docker compose https://docs.docker.com/compose/
.ci.yml has three main sections
##Run
Run a service from docker-compose.yml with default CMD
defined in the Dockerfile
run:
test:
# will run docker-compose run ci | |
run: 'ci' | |
#will run in parallel | |
run: | |
- 'rspec' # These are defined in docker-compose.yml | |
- 'cucumber' #These are defined in docker-compose.yml | |
plugins | |
- checkstyle |
1. Vim for js | |
2. animations | |
3. flexbox | |
4. es6 promises | |
5. es6 generators | |
6. Immutable | |
7. Tanspilers, compatibility matrices | |
8. Less/Sass/Stylus | |
9. Browserify/webpack |
I like the cleanliness of it, but I'd like some more lines to identify different sections. | |
It feels a bit too floaty and not enough anchor. | |
and some border lines would help ground certain sections. | |
The header is a good example of being anchored, but the rest of the widgets feel unorganized because there's no barrier between them. | |
Fix and review all permissions on actions on build /project | |
PR's don't have commiter name or commit message |
Seperate out branch/tab logic from dynamicproject. It doesnt belong there. | |
use permissions for configure button + add delete project option | |
include progress bar | |
ajax query should only return completed |