I am trying to install a couple of dependency packages for testing my code on Travis-CI. I am an education user, so all my builds get sent to a container-based instance. Because it is container-based, I cannot use sudo to install the packages. Is there a workaround for this?
Sort of.
Through the apt_packages addon, you can specify additional packages to be installed with your .travis.yml file.
addons:
apt_pacakges:
- lib32stdc++6
You can only installed packages that are on the whitelist.
Related
I have a project which runs karma tests and need chromium-browser binary. For testing purposes I've manually install it with apt install but now that it is working I'll like to have an automatic way to install it on any Jenkins slave.
I've tried chromedriver-plugin but it doesn't seem to work and not maintained for over 2 years.
you can use the slave setup plugin
it will install the chromium-browser on the startup process. another option is to add the installation to the relevant job , and install the package only if it's not installed already.
BTW , how many slaves you have , did you install them manually or automatically ?
I've installed Graphviz and necessary plugins for Jenkins to run Dependency graph plugin, but when I click on Dependency Graph, it doesn't show me anything, I don't know where is the problem, my Jenkins is v2.32.1, thank you very much
In my case I hadn't graphviz in my system.
I solve my issue running the following command (ubuntu 16.04.03):
sudo apt-get install graphviz
No reboot was required on jenkins and than the dependency graph worked as expected.
We have created successfully a bower package and it is working great with Subversion and private-bower.
The issue I am facing now, is that we need also the generated files to be commited into (Subversion or Git) to work properly for
bower install
or
bower update
Now every build creates a conflict in the local copy of the repository.
My question is, can I tell bower to do a post install or post update command to execute a build?
In my case it should run a grunt task to build the files locally.
Just wondering if bower is not capable of doing such steps to avoid conflicts on the git/svn repository?
Or what is the suggested way to avoid merge conflicts?
There are postinstall hooks in bower https://github.com/bower/bower/blob/master/HOOKS.md but you can't rely on it as a package provider (they're designed to be used by the developpers who install your package)
For your situation, teams that provide bower packages that require a build step have two main workflows:
The repo tied to the bower registry is the source repo. Sources & build files are in it (like bootstrap). So when you bower install, you retrieve the whole repo with all the sources, build routines, etc ... which can be quite big. That's your case currently.
The repo tied to the bower registry and the repo holding the sources are two different repos (like angular):
Your build directory is in fact the repo tied to bower
Each time you make a new release, you build and then commit from that repo.
If you're having versionning problems, maybe you should switch to the second workflow (which will also let you clean all the unecessary files like build routines).
Is there a way to install only build dependencies of a package with the container-based builds of travis-ci?
The migration guide does not mention build-dep.
It is possible to explicitly list all the dependencies, but an automated method would be favorable.
I have Jenkins running on a Cloudbees Fedora 17 node. I need my job to be able to install certain packages to build my project correctly for deployment but my yum install commands fail because the jenkins user does not have the correct permissions.
I cannot SSH into the box or use the jenkins CLI to assign root permissions to use sudo and Cloudbees doesn't appear to enable the Script Console. Neither can I run the yum command as with su because it expects the administrator password which I cannot enter remotely.
What can I do?
I am not aware that you can install additional software on the CloudBees Jenkins master node. But you can request from CloudBees support that additional software packages will be installed on the automatically created CloudBees build nodes.
As alternative you can also create your own build nodes (called OPE in CloudBees). This is helpful for a lot of cases such as specific software requirements (such as closed source software which requires a license) or just to be much more flexible when it comes to require packages installed on it.
Since you didn't mention what kind of packages are missing: There are a lot of frameworks that provide much more ruby, java, python, go etc. versions as any Linux distribution. CloudBees provides documentation for a lot of them on http://dev-at-cloud-docs.cloudbees.com/docs/dev-at-cloud-docs-1.1/Build+Tools.html
This is the problem with hosted solutions like what Cloudbees offers. If you need access to operating system level permissions on the host server, then you have little choice but to host Jenkins yourself, or to obtain a different licensing structure with CloudBees in order to have a VPS, or some other isolated but still SaaS hosted solution.