Hhaving a CI like jenkins, how to deploy the IPA archives to the jfrog artifactory. Do I need cocoapods or other plugin? Can it be done using standard basic artifactory? What other tools could be used as a replacement?
You can use a simple shell command in Jenkins to execute Artifactory REST api or better yet use Artifactory's CLI to upload any type of file to your Artifactory Server.
HTH,
Or
Related
I have quite a few applications with source and binary code in Bitbucket repositories. Jenkins is my CI/CD platform which is locally installed. For the most part, Jenkins jobs simply pull binary files from the Bitbucket repo and deploy to target hosts (Windows). Our devs generally execute builds locally and push the source and binary files (.Net) to the repos. A few projects are npm or ant/maven builds. My CISO would like to integrate vulnerability scanning using JFrog Xray into the CI process. Therefore, I have several questions.
Will JFrog/Xray perform a scan as a build step without switching to Artifactory for version control?
Which version of JFrog/Xray do I need? Will the free version work?
Do I need to install JFrog/Xray locally, or can I use a hosted version?
Is there any documentation for my use case? I've reviewed JFrog's documentation, but most related to using Artifactory.
Is there an alternative to JFrog/Xray that would be better?
Nope, Xray without Artifactory never works
Artifactory does have the OSS version for Maven projects which is free that will be onprem but no Xray onprem, though you can refer to this link to create a free JFrog platform with Artifactory and Xray.
For local version which is onprem environment licensing is needed and for cloud you can go with the free versions available.
As you referred documents, Artifactory is needed for Xray to work.
How can I upload binaries straight to Jenkins without running a build?
For example, I want to use a customized maven, without deploying it to all of my nodes.
Is there a neat way to somehow upload this zip straight to Jenkins? Without running a build that has a publish artifacts step?
Jenkins is built for keeping the artifacts that come out of a build job. It's not built for just uploading artifacts without building.
For what you want to do, use an artifact repository server like JFrog Artifactory, Sonatype Nexus or Archiva. These are built exactly for that purpose.
We are using the "Generic-Artifactory Integration" (with legacy pattern) in our Jenkins jobs to upload artifacts.
Is it somehow possible to upload the artifacts even if the build fails?
I don't seem to find an option on the configuration page (Freestyle build).
It isn't a good practice to upload an artifact if your build fail. I recomend you to create a new pipeline or to edit your actual pipeline.
If your artifact is building sucessfully but your pipeline if failing you can upload it using Jfrog Cli with this command in your pipeline code:
For packed (jar, zip...) artifact:
jfrog rt upload "JENKINS_PATH_TO_YOUR_ARTIFACT/*" YOUR_ARTIFACTORY_REPO/
For unzip or unpacked artifact:
jfrog rt upload --flat=false "JENKINS_PATH_TO_YOUR_ARTIFACT/*" YOUR_ARTIFACTORY_REPO/
Check Jfrog Cli manual:
Jfrog Cli
Check my post with similar task using Bamboo: Upload artifact to Jfrog Artifactory using Jfrog CLI
I have jenkins jobs that builds ios and android app and i want jenkins to upload those artifact to nexus after build is done.Is there any way to do it?
Thanks
If you are building the apps with Maven or Gradle or whatever (esp. the Android ones) a simple mvn deploy or gradle uploadArchives will do the trick. Same applies if you build the ios app with one of these tools.
In most other cases you can always do normal upload via the REST API.
Examples for the Maven and Gradle setup are in the eval guide and the examples to the Nexus book.
Use the Nexus Artifact Uploader Plugin, and set up a new job where you set a build step to Copy artifacts form another project, and a step to Upload artifact to Nexus
So I got few separated jobs in Jenkins. The first one gets the project from a Git repository, builds it and produces artifacts. And another one has to copy certificates from the first job and publish them to Artifactory (tried to make it using the Artifactory plugin). But the thing is that the Artifactory plugin's available only in the Build job, there's nothing like "Generic-Artifactory integration" in second job's configuration.
Does anyone know what are the requirements for making the plugin work in the Publish job?
You can write a small shell script leveraging Artifactory REST API and execute it in your second, non-build job.
I have done a similar thing with maven and a zip file. I have deployed a zip with a build step in maven calling a deploy:deploy-file and setting my Artifactory repository in settings.xml and deploying directly on my artifactory repository.