artifact-manager-s3-plugin
configuration-as-code-plugin
artifact-manager-s3-plugin | configuration-as-code-plugin | |
---|---|---|
2 | 12 | |
61 | 2,640 | |
- | 0.4% | |
6.7 | 8.9 | |
3 days ago | 13 days ago | |
Java | Java | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
artifact-manager-s3-plugin
-
Is there a way to use the Jenkins core 'archiveArtifact' with Artifactory?
I see. The only option I'm aware of is https://github.com/jenkinsci/artifact-manager-s3-plugin (S3 API compatible).
-
CMV: Jenkins shouldn't be anywhere near a robust, mature application environment
So, yep done all this and completely agree. I set this all up with Terraform, Docker, and JCasC. However with our 80 person org and around 30 active repos (all with multibranch pipelines) ,200-300 builds a day; I'm seeing reboot times in the 15-20 minutes range (which hurts.) Also, if you don't drain the Jenkins instance prior to replacement then the currently running jobs fail; causing more issues (need to automate this anyone got a script?). Other complaints, plugins break ALL THE TIME so we really have to do some QA before sending a new Jenkins container out to prod. The S3 Artifact plugin doesn't do multipart uploads which limits the maximum size and performance on stash/archiveArtifact (patch here https://github.com/jenkinsci/artifact-manager-s3-plugin/pull/141; could still use a patch to stream the zip/tarball creation). The downstream build feature is really powerful but the blue ocean ui is iffy on it (sometimes it shows downstream builds; sometimes not). The ec2 plugin works but I've never gotten the spot-fleet plugin to work properly (specifically interested in being able to choose alternately sized instances based on spot price and availability). If you use spot-instances with the ec2 plugin; there's no clear way to retry the build (would love a tutorial or script that accomplishes the steps needed on this. i.e. trapping the signal coming from the OS and turning it into an exception in the pipeline). Overall, it's nice once you get here; but it's a metric ton of work... and there's still a bunch of problems. Really wish there was something easier to maintain and grow with a cloud first approach (i.e. rolling upgrades, object store support, fleet support).
configuration-as-code-plugin
-
Help! Confused about the relationship between Software Engineering and DevOps
First, developers could be taking care of maintaining the CI/CD tool.. As is (dev)ops will provide a running instance and everything from there is dev's responsibility, eg. Jenkins via https://plugins.jenkins.io/configuration-as-code/ .
- Jenkins CASC plugin
-
The only Jenkins Plugins you need
configuration-as-code https://plugins.jenkins.io/configuration-as-code/
- Fully scripted Jenkins server with terraform
-
Setting up a Jenkins instance with Configuration as Code (using yaml configuration)
Now we are going to use Configuration as Code plugin and some other plugins.
-
Why do y'all hate Jenkins? (What pipeline tools do you use?)
Looks like it does pretty much everything except install plugins ("We don't support installing plugins with JCasC" https://github.com/jenkinsci/configuration-as-code-plugin/blob/master/README.md)
- Separate .yamls for Jenkins Configuration-as-Code
-
My School DevOps Project [part 1] - Jenkins
--- jenkins: numExecutors: 1 systemMessage: "Hi, jenkins setup with jcasc" securityRealm: local: allowsSignup: false # prevents anonymous users from creating an account through the web interface users: - id: ${JENKINS_ADMIN_ID} password: ${JENKINS_ADMIN_PASSWORD} authorizationStrategy: globalMatrix: permissions: #- "View/Delete:authenticated" #- "View/Read:authenticated" #- "View/Configure:authenticated" #- "View/Create:authenticated" - "Job/Read:authenticated" - "Job/Build:authenticated" - "Job/Configure:authenticated" - "Job/Create:authenticated" - "Job/Delete:authenticated" - "Job/Discover:authenticated" - "Job/Move:authenticated" - "Job/Workspace:authenticated" - "Job/Cancel:authenticated" - "Run/Delete:authenticated" - "Run/Replay:authenticated" - "Run/Update:authenticated" - "Overall/Read:admin" - "Overall/Administer:admin" crumbIssuer: "standard" # Docker: https://github.com/jenkinsci/configuration-as-code-plugin/tree/master/demos/docker clouds: - docker: name: "docker" dockerApi: dockerHost: uri: "unix:///var/run/docker.sock" templates: - labelString: "docker-agent" dockerTemplateBase: # TODO: pin sha256 or versions when using in production image: "jenkins/agent" remoteFs: "/home/jenkins/agent" connector: attach: user: "jenkins" instanceCapStr: "10" retentionStrategy: idleMinutes: 1 security: scriptApproval: approvedSignatures: - method java.lang.String indexOf int - method io.jenkins.plugins.casc.ConfigurationAsCode configure - staticMethod io.jenkins.plugins.casc.ConfigurationAsCode get tool: git: installations: - home: "git" name: "Default" jdk: installations: - home: "/opt/java/openjdk" name: "java" maven: installations: - name: "maven" properties: - installSource: installers: - maven: id: "3.6.2" jobs: - file: /var/jenkins_config/jobs/folders.groovy - file: /var/jenkins_config/jobs/jobs.groovy
-
Interesting Task
At my previous job the entirety of Jenkins was all in code. We would blow away our entire Jenkins instance and just copy/paste the config back into Jenkins and it would all be back. I believe that also had all of the configurations for the jobs as well. In that case, that could be ideal. If I remember correctly this was all done in Groovy and not using the Configuration as Code (YAML) plugin.
-
CMV: Jenkins shouldn't be anywhere near a robust, mature application environment
Most of the main plugins are configurable (here are some examples) and the rest you can configure via groovy. If there's good documentation, writing the groovy scripts is fairly easy too
What are some alternatives?
pipeline - A cloud-native Pipeline resource.
jenkins-bootstrap-shared - Jenkins as immutable infrastructure made easy. A repository of shared scripts meant to be used as a git submodule. Packing Jenkins, plugins, and scripts into immutable packages and images.
job-dsl-gradle-example - An example Job DSL project that uses Gradle for building and testing.
aws-cf-templates - Free Templates for AWS CloudFormation
warnings-ng-plugin - Jenkins Warnings Plugin - Next Generation
Design Patterns - Design patterns implemented in Java
docker - Docker official jenkins repo
Jenkins - Jenkins automation server
jenkins-configuration-as-code - Jenkins instance setup with a Configuration as Code plugin.
amazon-ecs-plugin - Amazon EC2 Container Service Plugin for Jenkins