|
1 year ago | |
---|---|---|
balena-etcher@246ab3d254 | 1 year ago | |
google-chrome@95891c4a41 | 1 year ago | |
guestfs-tools@198fed0e72 | 1 year ago | |
srv-bin@e738464992 | 1 year ago | |
ttyd@b44bd42099 | 1 year ago | |
wps-office@4cb1d4bfcf | 1 year ago | |
.drone.yml | 1 year ago | |
.drone.yml.backup | 2 years ago | |
.gitattributes | 2 years ago | |
.gitmodules | 1 year ago | |
README.md | 1 year ago | |
buildDrone.sh | 1 year ago | |
buildjob.txt | 1 year ago | |
packages.txt | 1 year ago |
README.md
Automated AUR Build Pipeline with Drone CI
This Repository wants to achieve a simple building of packages with Drone CI, Docker and Nexus.
Prerequisites
Installation
- Fork the Repository
- Connect Drone CI with your Git Repository and activate it
- Clone your Repository
- Remove ananicy package from the repository (it is just a example package)
- Add the packages you want
git submodule add https://aur.archlinux.org/timeshift.git timeshift
- Register the Packages you want in the packages.txt. You can add commands that should be executed first, before building the package with an ^. So for example if you want to install nano before installing timeshift register the package like this in the packages.txt (every package in a single line).
timeshift^pacman -Sy --noconfirm nano
-
Change the variables in the buildDrone.sh. For example the volumepath describes where the shared volume for all pipeline steps is mounted. This is important because this i later the name you add into your pamac.conf. Also change the apiurl to the API URL of your Nexus Instance.
-
Change buildjob.txt to your needs. So for example change the environemt variables to your Nexus instance and change the mountpoint in the commands to your repo name.
-
run buildDrone.sh and push the changes to your repository.
-
Change timeout of the Drone Repository, because it may take longer than 60 minutes to build your packages.
-
Add anonymous role in your Nexus Repository so your raw Nexus Repository can be read by anybody.
The pipeline should build your packages and pushs the packages to your Nexus Raw Repository.