I was looking for a solution, how can I start a build from phabricator. Currently we are using triggers for starting builds, but I need to start it when the review is passed in phabricator. Anyone know a solution for this problem?
The flow is the next: We take the task from the Review to the Testing, and this is what need to start the trigger which start the build under Gitlab. It is not necessary do the same, if anyone know an other solution or a best practice I am happy to hear.
Related
I work at a tiny company where deployment is mainly done by pulling master to a production server and running several scripts. We use PM2 which has some simple deployment features, but I'm not sure how to arrange the moving parts together to make everyone happy.
What I want to accomplish is having one fire-and-forget command to run on my dev machine that will result in everything being where it's supposed to be. What my boss wants to accomplish is to at no point have to do any lengthy step on the server to minimize downtime - so no building and no NPM install. To this end he wants builds and node_modules in Git and I think that's an abomination before the gods, so I'm trying to figure out how to avoid those.
Things that are a no-go for now: building and deploying Docker images, CI/CD. We don't have the infrastructure set up for those, and I'm more interested in using tools we already have and getting rid of human intervention in those. (Their popularity unfortunately also makes it hard to research best practices for more legacy environments.)
I'm not very familiar with PM2 and most of my experience is in environments where deployment was somebody else's job, so what I'm looking for is an outline of what gets done to what where provided by somebody that actually knows what they're talking about.
My current rough idea is:
Switch the project to Yarn 2 and use it's zero-install capability to have dependencies in Git but sane.
In a Docker container on the dev machine, do a clean checkout, install, and build. (This is to get rid of "works on my machine" issues and avoid inadvertently checking in macOS binaries.)
Push this to a release branch - these are the only ones where build outputs and such are allowed.
Then use PM2 to pull this specific branch and reload on the target machine.
Is this something that looks workable? Am I missing something? Is it possible to somehow avoid the release branches?
I want to run our automated ui tests from xamarin ui-tests in appcenter.
But i don't want to start the test runs manually, but rather being triggerd by my Azure DevOps build pipelin. I already found the task for this, but unfortunately the documentation only contains a sample for espresso, and none for xamarin ui-test.
So right now i'm a bit lost on what i have to setup and what commands are really needed to get this going.
I already did successfully run the ui-tests manually on app-center, but getting this married to azure devops is a bit too much for my brain right now (maybe i just overlooked some basic things)
[edit1] I forgot to mention, that i (for some not know reason) cannot use the old graphical yaml builder of azure devops, but are stuck to the yaml file editor. So since the documentation for the graphical yaml builder is much better, i would also be glad if someone would show me, how i could switch back to it in azure devops.
[/edit1]
[edit2]
I think I should just open my eyes before asking a question for which the answer is directly in front of me.
so, i found the graphical yaml builder just on the right of the window :/.
I'll leave this question though and updated it with a working sample file, once i finished creating one.
If someone out there is faster than me, i'm happy to upvote and accept his answer though :).
[/edit2]
So, if anyone of you has a build pipeline task for automated xamarin ui-tests to help me out, i would be really greatful.
Best regards and thx in advance.
Maverick
Update
I now get the following error message:
##[error]Error: Cannot find any file based on d:\a\1\s\com.docuware.mobileclient.apk.
In my Publish Task the file is taken from here:
Upload 'd:\a\1\b\Debug' to file container: '#/9635693/drop'
This is the path i gave for the apk file:
appFile: '$(System.DefaultWorkingDirectory)/com.companyname.filename.apk'
of course i see, that the file is in subfolder named "Debug", but how to tell the task to look in d:\a\1\b for debug and not in d:\a\1\s?
I'm starting to using GitLab CI/CD for some automation, turns out that I wanted to use WebHooks as described HERE, unfortunately within the company we don't have this option available.
So I was thinking on making a cURL POST request in order to achieve what I wanted using the WebHooks. However I'm not sure in which part of the gitlab-ci.yml to put this.
Are there are any Tags where I can put the instructions to run the cURL, right before the runner finishes? The idea is to make a POST informing if it has failed or succeeded.
I don't know where from that problem comes. I sure, I didn't do anything like that, I'm just have worked in a usual mode. Can some one help me to fix that?
Im pretty new to CI so bear with me here. I have just setup an instance of Team City in on a local machine, and I can clearly see the benefits.
The one thing we do want understand is how we can managed the deployment aspect of CI. What we really want to achieve are two builds:
1) We check in to our source repository and the CI server notices the change and compiles the code, tests etc.
2) We manually trigger a build that compiles the code, copies the code to a remote server and update its IIS mappings.
Now the first build is pretty much wrapped up with TeamCity. But I assume that the deployment aspect of this is going to involve some scripting (Nant, MsBuild, Rake etc) is this correct?
If this is the case, I can see that transferring files from the build machine to a remote server will be ok, but will we be able to update IIS mappings without being on the same network? For that matter where is THE correct place to deploy a CI server, should is live on the same network as the apps we deploy?
Finally, we have been (rather unorthadoxily) using IronRuby to run rake scripts as our build runner. This is simply because we like Rake, but if we were to look at Nant/Msbuild do they have any baked in tasks that would simplify what we are trying to achieve?
Cheers, Chris.
We use MSBuild exclusively, just a choice. I am sure Nant and the others do things just as well. We only publish to a dev environment (for dev testing) and a stage environment (Where QA actually tests). I would not suggest that you put the production system push on this as the temptation to force builds might be too great for some people.
We use some of the MSBuild Community Tasks