I have a problem with the CI tool drone. At the Moment I'm using drone.io and with the selft-hosted version I have the same issue. When I try to build my golang test application drone.io always ignores my .drone.yml file.
The GitHub repo is: https://github.com/norbell/dronetest
My .drone.yml file looks like this:
pipeline:
build:
image: golang:1.6
commands:
- go get
- go build
And the settings page of my drone.io project looks like this:
And when I click the build button it shows me that the project was successfully "build":
Obviously does everything but not building my project. I have done everything I found in the documentation but I can't get it working.
When I put go get and go build or go run main.go into the "commands" textarea field of the settings page, drone is suddenly able to build my go application.
I'm not sure what I'm doing wrong, so it would be very nice if someone could help me. :)
https://drone.io/ - doesn't support .drone.yml file, this file supported by https://github.com/drone/drone
If you want to use a .drone.yml you are forced to host drone on your own.
Related
I have a program with the structure as such:
go/src/repo/game
go/src/repo/server
and the entry point is within the server folder. I'll do go build repo/server and then run the executable.
So i'm trying to deploy the app in Heroku, but there isn't any info on how I can tell Heroku exactly what to build - looks like it just does go build within the repo/. How can I tell Heroku to do go build repo/server instead? Thanks everyone :) !!
PS - if I'm using Go's standard library - strconv, net, etc, so I have to add that to go.mod as a dependency? thanks guys :D
There // +heroku install is how you do this. See here
I have created Xamarin.UITest that can run locally on my desktop. My goal is to execute these test as a part of a post-build script to run UITest after the app has built as mentioned in this article below:
https://tomsoderling.github.io/AppCenter-Automated-UI-tests-on-build/
Below is my script
appcenter test run uitest --app "MY-APP" --devices 168683d9 --app-path $APPCENTER_OUTPUT_DIRECTORY/MyApp.Mobile.Droid.apk --test-series "myapp-mobile-test" --locale "en_US" --build-dir $APPCENTER_SOURCE_DIRECTORY/MyApp.Mobile.UITests/bin/Release --token MY-TOKEN --uitest-tools-dir $APPCENTER_SOURCE_DIRECTORY/packages/Xamarin.UITest.*/tools
When the script above is apart of my appcenter post build script, I get the following error:
Error: Cannot find test-cloud.exe, the path specified by "--uitest-tools-dir" was not found.
Please check that "/Users/vsts/agent/2.141.1/work/1/s/packages/Xamarin.UITest.2.2.6/tools" is a valid directory and contains test-cloud.exe.
Minimum required version is "2.2.0".
I think a lot of people are having trouble dealing with this actually and I know it has something to do with --uitest-tools-dir OR --build-dir variables.
Keep in mind this I am first trying to do this with Xamarin.Android, if successful I will try the Xamarin.iOS
One clue i do see is when Tom says "I had to chose to build the app solution file in my App Center CI build - not simply the iOS project like I normally would" in the noted article, but I am not quite sure how to do that or if is connected to why AppCenter cannot locate my test-cloud.exe I will also say that test-cloud.exe somehow comes from the Xamarin.UITest nuget, but I do not see any test-cloud.exe file in my Xamarin.Forms project.
This answer works, but it's pretty fragile.
The test-cloud.exe can't be located at packages/Xamarin.UITest.2.X.X/tools in projects that uses the old project structure (projects that use packages.config). For new projects (new .csproj formats), there is no such file in the path of the project. The only way I found to make it work on AppCenter is to use it from the NuGet package cache (/Users/vsts/.nuget/packages/xamarin.uitest/2.X.X)
Kudos to AppCenter Agents for helping me to resolve this. 2 things were required as indicated below:
Agent Anvesh says
Hi there, Thanks for the details, So seems like you are using a nuget as a PackageReference in your project(this means that there will be no package folder in your project, packages will be there at user profile).
So when you are trying to run the test as part of the app center build. Then in the shell script used the --uitest-tools-dir value as below
/Users/vsts/.nuget/packages/xamarin.uitest/2.2.6/lib/tools
So I modified my above script to add the below:
--uitest-tools-dir /Users/vsts/.nuget/packages/xamarin.uitest/2.2.6/tools \
Agent Shawn says
So I added the below
msbuild $APPCENTER_SOURCE_DIRECTORY/MyApp.Mobile.UITestProject.csproj
I'm new to the whole deployment thing... all my (hobbyist) learning has been done using a local server.... but now it's time to learn the next step.
Got myself an [OpenShift Starter Online] account, bitbucket with my code, and I'm trying to follow this quickstart: https://github.com/luciddreamz/laravel-ex/blob/master/readme.md
My attempts to initate a build end with "Assemble failed" and so I'm into the build configuration etc.
What I want to know is (https://docs.openshift.org/latest/architecture/core_concepts/builds_and_image_streams.html#source-build) .... what type of build is this that I am trying to do? Is this what they call a "Docker build", or is it a "Source-to-Image (S2I) build"? Or is it something else.
It is using a Source-to-Image (S2I) build. If you look at the build strategy in the build configuration, it lists 'Source', which corresponds to S2I. The S2I builder it is using it that for PHP.
Run:
oc describe bc
to see more details on the build configurations in your project.
I have added Travic-CI on travis-ci.org to my github project.
The .travis.yml file looks like this:
language: csharp
solution: MyProject.sln
So, when I go to
https://travis-ci.org/username/MyProject/builds/somenumber
, then it shows the build as passing.
I can also see the log-file, but I can nowhere see the the files generated (the .exe).
Do I have to add anything to .travis.yml so it displays/publishes my .exe as artifact on my project's page on travis-ci.org ?
Or do I have to flip a switch somewhere else ?
Or is Travis not thought to do this ?
Note:
Show the executable on travis-ci.org (so I can link to it from github), not publishing it automagically as release to github, althought that would be fine, too.
By default, the build artifacts are thrown away with the machine. What counts is the build and test result. If you want to retain some or all build artifacts, have a look at the deploy options: https://docs.travis-ci.com/user/deployment/
Travis now offers a built-in option to upload build artifacts to AWS: https://docs.travis-ci.com/user/uploading-artifacts/. To set it up you just have to enable the add-on and provide some configuration:
For a minimal configuration, add the following to your .travis.yml:
addons:
artifacts: true
and add the following environment variables in the repository
settings:
ARTIFACTS_KEY=(AWS access key id)
ARTIFACTS_SECRET=(AWS secret access key)
ARTIFACTS_BUCKET=(S3 bucket name)
I am creating a hello world plugin for Jenkins by following Tutorial: Create a Jenkins Plugin to integrate Jenkins and Nexus Repository. After I followed the steps, I can run Jenkins and test the plugin.
It shows on Installed Plugin Page.
Then I go to Configuration page and expect to see Hello World Builder section like the below image, but there is not.
What steps did I miss? Is there anything I have to do before having that plugin show up on the configuration page?
Update
This is the project layout, I haven't modified anything on it yet.
What command did you use to generate the plugin skeleton?
FYI, from the tutorial above, mvn -cpu is deprecated.
To generate the plugin skeleton, use:
mvn hpi:create
or
mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create from the Jenkins Plugin tutorial
I'm going to include each step for what worked for me:
mvn hpi:create, then enter groupId (press enter to use default: org.jenkins-ci.plugins) and artifactId (name of the plugin)
cd new-plugin-name
mvn eclipse:eclipse
mvn package
mvn hpi:run
(default port is 8080, but you can set your own with Dport option (i.e. mvn hpi:run -Dport=9999, use this if port 8080 is in use - otherwise mvn hpi:run will fail)
Open browser and enter URL "localhost:8080" (or 9999)
You should the page below. Click the link and that'll take you to Jenkins home page
Click 'Manage Jenkins' > Configure System. Scroll down near the bottom of the page and you should see the Hello World Builder section
Go back to Jenkins home page and click New Item
Give the project any name, select Freestyle Project, click OK.
Scroll down to the Build section and click 'Add build step' > Say hello world
Enter a name (i.e. TestName), save the project, then run a build ('Build Now')
Click on the latest build under 'Build History' > Console Output.
I had a same problem and solved it.
I am sure you are using eclipse as IDE and imported HelloWorldBuilder as a maven project.
In my case, I converted it to eclipse project after deleted and regenerated again.
Please refer "Setting up a productive environment with you IDE" section of the following url and use this command.
mvn -DdownloadSources=true -DdownloadJavadocs=true -DoutputDirectory=target/eclipse-classes -Declipse.workspace=/path/to/workspace eclipse:eclipse eclipse:add-maven-repo
https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial
If you launch the project after convert and rebuild it, the hello world builder section will be shown in your jenkins configuration menu.
I recently had the same problem. Apparently currently (see date of this message) master of the hello world example is wrong. I needed to change
<artifactId>hello-world</artifactId>
to
<artifactId>hello_world</artifactId>
because some component in the middle doesn't accept "-". I think hpi:create will tell you that, unfortunately the debug log files don't. But the existing hello-world should already have those things correct.
Even I faced same problem, I think reason is because I imported to eclipse as a maven project. I deleted folder and ran command
mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create
to create new project. Then ran mvn hpi:run and it showed up well.