I'm new to Travis. The user docs are fantastic and I had little trouble getting my little project to build. But how do I get at the thing that was built? Can I?
The build log shows my binary getting linked, but I see no way to access it.
I'm not interested in automating deploys or uploads, I just want to see what was produced.
Any artifacts from builds are purged after a successful build, together with the build environment. Travis CI isn't explicitly storing them for you, but can be convinced to do so: http://docs.travis-ci.com/user/uploading-artifacts/
Related
I have a cypress plugin that generate screenshots, is there a way to visualise those generated screenshots after success or failure ?
the screenshots folder path:
/home/travis/build/Org/my-app/cypress/snapshots/actual/Visual_testing/Login_page.js/Login page-actual.png
Thank you
As far as I know, there is no way to access directly Travis filesystem.
Also, everything that was generated during the build is destroyed once the build finishes.
If you want to recover the screenshots, you have to move them somewhere else.
Check the following documentation.
Uploading Artifacts on Travis CI.
Travis CI can automatically upload your build artifacts to Amazon S3 at the end of the job, after the after_script phase.
You could also upload them to GitHub or whatever you want.
The Deployment documentation covers a lot of providers.
I have been searching far and wide to see if I can find information on Jenkins incremental pipeline builds that does not involve Maven.
The general idea is that I want to build a generic project and run specific steps of the pipeline if the underlying code has changed. If the code did not change, I want to re-use the results from a previous build.
The reason why I want to do this, is to drastically reduce build times for huge projects.
Imagine that you only need to fix 1 line in a SCSS file, but the whole project needs to be rebuild, repackaged, etc because of this. In the meantime, the site is live and broken and waiting 15 mins to be fixed.
Can someone give a basic example of how such a build can be created or where I can find more information on incremental building?
The only thing I have been able to find is incremental building for Maven projects, but this is not applicable for me.
The standard solution is to create modules that depends on each others.
Publish the built artifact of your modules to a binary repository like Sonatype Nexus (you can easily create private npm repo as well as proxy npm repo).
During the build download the dependencies, instead of building them.
If this solution is not the one you want to take, you will have a hard time hacking a solution. To persist the state of your steps, an easy solution is to create files in the job workspace and read them at next build
I ran a build yesterday, hoping I would read some logs today.
I came today, and got an error 404 when trying to access the build. Strange.
Running another build, shows my build actually did run, but it is unreachable.
Is there a way to get my hands on the logs?
Notice build #10 is missing, even though it did start.
Probably a windows update is to blame for this.
The broken link is http://192.168.80.10:8080/job/Dev_git/10
More information on a run can usually be found using the context menu under Console Output. This is only accessible if you have the correct permissions set in Jenkins.
This of course does not work, if a build is missing. One reason could be that your Jenkins is configured in a way that only a certain number of historic builds are kept, see Build History Missing in Jenkins for an explanation how to deal with that.
However, your case seems to be different, because a build in the middle of the history is missing. For this, I suggest to look around in the jobs directory of your Jenkins installation where it stores all the configuration and run data.
References
https://wiki.jenkins.io/display/JENKINS/Administering+Jenkins
Where does Jenkins store configuration files for the jobs it runs?
I have a Jenkins pipeline build that reports on cucumber tests using the "CucumberReportPublisher". When I delete tests or refactor a whole feature, many times the old tests hang around in the jenkins test report, showing as "skipped".
Is there a way to make Jenkins/CucmberReportPublisher forget about these old tests and stop reporting them as skipped?
It sounds like you don't have a clean environment when you build your project.
I would make sure that Jenkins deleted the work space for the job and checked out the entire project from scratch for every build. I don't have a Jenkins to look at here, but there are different checkout options available for the job near the version control settings. Choose one that deletes the work space before checkout.
Another option can be to clean as the first step in your build. Assuming that you use Maven, it could look like this
mvn clean deploy
This may solve your problem with ghost tests hanging around after deletion. But it may not solve your problem with a dirty work space.
I'm trying to understand what it does. Currently, this is the value that I see - dist/.tgz
From what I understand, our grunt scripts makes a tgz file. However, I don't know what Jenkins does.
I got an error when I didn't specify any pattern
ERROR: No artifacts are configured for archiving.
You probably forgot to set the file pattern, so please go back to the configuration and specify it.
If you really did mean to archive all the files in the workspace, please specify "**"
Build step 'Archive the artifacts' changed build result to FAILURE
Most importantly, it allows you to archive items from your job's workspace in a persistent and accessible way, linked to the specific build number.
I.e. you have a job Build that compiles your sources into program.exe, archiving it linked to the build it was produced by, and keeping it accessible for developers or other jobs can come in very handy.
Additionally, archived artifacts are transferred to your jenkins master, so your job can run on any slave, but your archived files will be always accessible, even when that particular slave is offline.
Also, with the right configuration and plugins, other projects can access archived artifacts from other projects. I.e. a job Deploy that uploads your program.exe to some location is as trivial as copying the archived artifact of the last successful build into its workspace for the upload.
Theres quite some information on SO already, i.e. here.