Giter Club home page Giter Club logo

jenkins-x-builders's Introduction

jenkins-x-builders

a monorepo containing all builders for jenkins-x.

jenkins-x-builders's People

Contributors

abayer avatar almerico avatar ankitm123 avatar babadofar avatar cagiti avatar carlossg avatar dennisnewel avatar fabianrindlisbacher avatar garethjevans avatar hekonsek avatar jenkins-x-bot avatar jenkins-x-bot-test avatar joostvdg avatar jstrachan avatar jtnord avatar martijnburger avatar mgar avatar patrickleet avatar pmuir avatar polothy avatar pow-devops2020 avatar rawlingsj avatar sullis avatar tdcox avatar tomhobson avatar vbehar avatar vlatombe avatar warrenbailey avatar warrenbailey-cb-bot avatar wenzlaff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

jenkins-x-builders's Issues

builder for PHP?

Is there jx builder for PHP 5 or PHP 7? I wanted to test for jx import of Laravel project, but could not get it working.

At least some builders have two git versions

semantic-release/semantic-release#1140

When using nodejs container, semantic release fails with the following pipeline due to the container having two versions of Git installed.

pipeline {
  agent {
    label "jenkins-nodejs"
  }
  stages {
    stage('Test and Release Library') {
      when {
        branch 'master'
      }
      steps {
        withCredentials([
          string(credentialsId: 'semantic-release-github-token', variable: 'GH_TOKEN'),
          file(credentialsId: 'nexus-npmrc', variable: 'NPMRC'),
        ]) {
          container('nodejs') {

            // ensure we're not on a detached head
            sh "git checkout master"
            sh "git config --global credential.helper store"
            sh "jx step git credentials"

            sh "npm i -g semantic-release"
            sh "cp $NPMRC ./.npmrc"

            sh "npm ci"

            sh "semantic-release"
          }
        }
      }
    }
  }
  post {
        always {
          cleanWs()
        }
  }
}

builder-nodejs8x has node 10 instead of 8

Steps
docker pull gcr.io/jenkinsxio/builder-nodejs8x:0.1.543
docker run -it gcr.io/jenkinsxio/builder-nodejs8x:0.1.543 bash
node -v
npm -v

Expected
v8.x (nodejs version)
5.x (npm version)

Actual
v10.16.0
6.9.0

go: command not found, unable to build any go... :(

Expected

Return GO version

Experienced

Error Go command not found

Using the Jenkins X Go Builder

Dear Github, What Am I missing?

this is my Pipeline:

node('builder-go'){
        stage('Preparation') {
            sh '''#!/bin/bash
                    whoami
                    echo "=============="
                    echo $PATH
                    go version; \\
                    
                    
            '''
        }
}  
Replayed #42
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] node
Still waiting to schedule task
‘go-92k93’ is offline
Agent go-92k93 is provisioned from template Kubernetes Pod Template
Agent specification [Kubernetes Pod Template] (builder-go): 
* [builder-go] jenkinsxio/builder-go-maven(resourceRequestCpu: 900m, resourceRequestMemory: 2048Mi, resourceLimitCpu: 3, resourceLimitMemory: 4096Mi)
* [jnlp] jenkinsci/jnlp-slave:3.26-1-alpine(resourceRequestCpu: 100m, resourceRequestMemory: 128Mi)

Running on go-92k93 in /home/jenkins/workspace/test
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Preparation)
[Pipeline] sh
jenkins
==============
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin
/home/jenkins/workspace/test@tmp/durable-53ff8d62/script.sh: line 5: go: command not found
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 127
Finished: FAILURE```

With the following K8s Pod template:


(https://user-images.githubusercontent.com/42418721/52285364-307c4700-2934-11e9-8e33-5b2124280217.gif)


Failed to inspect image

Using the go-http quickstart I recieve the following error while the pipeline is running
Failed to inspect image "gcr.io/jenkinsxio/builder-go:0.1.778": rpc error: code = Unknown desc = Error response from daemon: readlink /var/lib/docker/overlay2/l: invalid argument: ImageInspectError

The building of the builder images is too slow

This issue can be used as a collection point for ideas, tips, etc on how to improve the build time as discussed here on the slack channels

cc: @garethjevans

Build Analysis

There is a nifty little tool called buildkit available since docker v18.09. With this you can add the build step times to your output, for example (see duration: ...):

$ export DOCKER_BUILDKIT=1
$ docker build -t sboardwell/builder-base:v0.1.233-dev  --progress plain .

#2 [internal] load build definition from Dockerfile
#2       digest: sha256:6706b2454783b402051421ecc7ec057d18927d35c62a25be8f7c5cc540232f40
#2         name: "[internal] load build definition from Dockerfile"
#2      started: 2019-02-12 11:18:15.7108837 +0000 UTC
#2    completed: 2019-02-12 11:18:15.7176608 +0000 UTC
#2     duration: 6.7771ms
#2      started: 2019-02-12 11:18:15.7348568 +0000 UTC
#2    completed: 2019-02-12 11:18:15.8792241 +0000 UTC
#2     duration: 144.3673ms
#2 transferring dockerfile: 5.25kB 0.0s done


#1 [internal] load .dockerignore
#1       digest: sha256:ba734b4fafb4c1a048e633a68855997f903cbf7e554a19268dae015234481407
#1         name: "[internal] load .dockerignore"
#1      started: 2019-02-12 11:18:15.710921 +0000 UTC
#1    completed: 2019-02-12 11:18:15.7177158 +0000 UTC
#1     duration: 6.7948ms
#1      started: 2019-02-12 11:18:15.7345233 +0000 UTC
#1    completed: 2019-02-12 11:18:15.8658067 +0000 UTC
#1     duration: 131.2834ms
#1 transferring context: 2B 0.0s done
...
...
#5 [2/23] RUN yum install -y epel-release &&   yum install -y unzip   which...
#5       digest: sha256:55197d566871ea470ec5a5e39bf4e82997aff6c01d519f20fdda0032f5d4ce2c
#5         name: "[2/23] RUN yum install -y epel-release &&   yum install -y unzip   which   make   wget   zip   bzip2   python-pip"
#5      started: 2019-02-12 11:18:16.0628204 +0000 UTC
#5 2.551 Loaded plugins: fastestmirror, ovl
#5 3.258 Determining fastest mirrors
#5 4.591  * base: centos.bio.lmu.de
#5 4.591  * extras: mirror.netcologne.de
#5 4.591  * updates: ftp.hosteurope.de
#5 13.71 Resolving Dependencies
#5 13.71 --> Running transaction check
#5 13.71 ---> Package epel-release.noarch 0:7-11 will be installed
#5 14.01 --> Finished Dependency Resolution
...
...
#5 42.57 Dependency Installed:
#5 42.57   python-backports.x86_64 0:1.0-8.el7
#5 42.57   python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7
#5 42.57   python-ipaddress.noarch 0:1.0.16-2.el7
#5 42.57   python-setuptools.noarch 0:0.9.8-7.el7
#5 42.57
#5 42.58 Complete!
#5    completed: 2019-02-12 11:18:58.945508 +0000 UTC
#5     duration: 42.8826876s

builder-maven-graalvm-19.3-java-11

Would it be possible to update the current GraalVM builder or create a new one based on 19.3 seeing as it's the LTS version and supports java 11. I can do a pull request for this if needed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.