Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "bamboo"
I am a PHP developer.
Yeah, "another PHP is awful" rant... no, not really.
It's just unsuitable for some ambitious projects, just like Ruby and Python are.
First of all, DO NOT EVER use Laravel for large enterprise applications. The same goes for RoR, Django, and other ActiveRecord MVCs.
They are all neat frameworks for writing a todo app, as a better-than-wordpress flexible blogging solution, even as a custom webshop.
Beyond 50k daily users, Active Record becomes hell due to it's lazy fat querying habits. At more than a million users... *depressed sigh*.
PHP is also completely unsuitable for projects beyond 5M lines of code in my opinion. At more than 25M lines... *another depressed sigh*.
You can let your devs read Clean Code and books about architecture patterns, you can teach them about SOLID & DRY, you can write thousands of tests... it doesn't matter.
PHP is scaffolding, it's made of bamboo and rope. It's not brick or concrete. You can build quickly, but it only scales up to a certain point before it breaks in multiple places.
Eventually you run into patterns where even 100% test coverage still doesn't guarantee shit, because the real-life edge cases are just too complex and numerous.
When you're working on a multi-party invoicing system with adapters for various tax codes, or an availability/planning system working across timezones, or systems which implement geographical routefinding coupled to traffic, event & weather prediction...
PHP, Python, Ruby, etc are just missing types.
Every day I run into bugs which could have been prevented if you could use ADTs in a generic way in PHP. PHP7 has pretty good typehints, and they prevent a lot of messy behavior, but they aren't composable. There is no way to tell PHP "this method accepts a Collection of Users", or "this methods returns maybe either an Apple or a Pear, and I want to force the caller to handle both Apple/Pear and null".
Well, you could do that, but it requires a lot of custom classes and trickery, and you have to rewrite the same logic if you want to typehint a "Collection of Departments" instead of "Collection of Users" -- i.e., it's not composable.
Probably the biggest issue is that languages with a (mostly) structural type system (Haskell, Rust, even C#/JVM languages to some degree, etc) are much slower to develop in for the "startup" era of a project, so you grab a weak, quick prototyping language to get started.
Then, when you reach a more grown up phase, you wish you had a better type system at your disposal...28
Gitlab's CI/CD, Jenkins, TeamCity, Travis, Bamboo,.....
Fuck it, I'm too lazy to learn them all to pick the best choice for my case.
Currently working on app that is about 10 years old at work. Here’s how today has gone:
Can’t run application locally because the process management engine doesn’t allow access locally, can’t access in development because process management engine doesn’t work here either, can run app in test but waiting on special server access to get the logs.
Make the request to security to access the server - they decline it telling me that the form I submitted is outdated and to submit a new one. Requires three approvals, am still waiting on them.
Every time I make a change and want to test, I have to commit the changes, wait for them to build. Release the changes, build the release project and then deploy it in bamboo.
I can’t wait for my new job to start.1
Android studio is a PATHETIC excuse of an IDE!! And managing a constraint layout inside a scroll view is worse than having my nails pulled out while a bamboo is growing into my spine at record time! Screw this piece of shit IDE!! I suck at front end bad enough to have to deal with its buggy frontend IDE!! Aaaah!!!! - pulls lumps of hair out-16
Ran a bamboo test suite which just printed '408 tests ran successfully'. It's only had return true :P
Periodically update test number.3
I was never a big fan of Github to be used within a company. So about 3 years ago where I used to work I implemented all the tools from Atlassian. Like litteraly all of them. And first I was stunned of the possibilities I had with Jira, Confluence, Bamboo and Bitbucket! But while self-hosting all thoose services you always felt, that Atlassian just bought all thoose companies and "threw them together"
BUT with newest features of Gitlab, I think they outperformed everyone! I absolutely love what they offer, even as a free service. They integrate all features in one product where you would otherwise relay on different products.
Whats important to you when it comes to VCS?3
When your new feature works (and you installed a new package from Nuget) on your and your co-workers environments. And then you push to the build-QA-server and it breaks...4
My work desk is ordered chaos. It's an unspectacular white desk.
To the left paper for taking notices... And a collection of notes highly unordered.
In the top left corner of the desk the router.
Middle (front to back): Color sorted post it's with my backlog and all the stuff that I need to keep track off.
Right (front to back): mailboxthingy, post it block, utensilo (made of bamboo)
That's the working desk. Like the "shining knight in armor"....
Next to the working desk is the play desk, a large kitchen table with a 5mm thick black rubber (keep your dirty thoughts for yourself ;)) as insulation and scratch prevention.
There is usually utter chaos.
Banana PI R2, test router, old hardware, hardware storage cabinet, screw and other small part cabinet....
And to the right is a large chest of drawers where I cram everything in that doesn't belong anywhere.
I'm pretty boring I guess.
Except you are kinky for old hardware and lots of weird stuff noone uses nowadays...
Then you're in heaven I guess.2
once upon a time, there was a dream: we need to test the vagrant setups for our Devs, so that they can run these against the production environment of puppet without problems.
in the year of 2016, the once lone ranger - our team lead - created the ticket. don't. even. ask.
the idea was to build these vagrant setups via bamboo, log the results and fix the setups afterwards.
after weeks of brain fuckery (aka daily business), home office madness, beer, java specs, more beer and many failed builds, I made it.
bamboo now builds the fuckers via a dedicated agent now and I closed the ticket today \o/.
I'm somehow beaten.
I took a look at Bamboo today because I will later inherit it.
And ... I just can't make sense of it.
I've tried googling, but I'm kinda lost because most stuff I find is half baked or not "complex" enough - as in missing things we do.
The whole UI just leaves me with WTFs.... Honestly, if anyone has good resources I'd be pretty thankful.
I tried today 4 - 5 hours to make sense of it...
But it all leaves me with the gut feeling that Bamboo is either for automatic deployment only ...
Or manual with a ton of duplicated stuff.
Both conclusions feel completely wrong to me ...
The moment you push hotfix 2 hours before release and go for a few drinks without even building it! Thanks Bamboo for being so observable!!
So our company has been talking about bringing in the full Atlassian suite (JIRA, Bamboo, Bitbucket, Fisheye and Crucible). Anyone familiar with using the entire suite? Just wondering what kind of hell to expect.13
Screw you bamboo. Everything would be so much easier with Jenkins but this company already bought the full atlassian stack
you want to build a database dump with bamboo.
the job works, everything is green AF - but there are no build artifacts. you check the buildconfig 5 times and then you realize, there are blanks after the copy pattern of the frak'n build artifact.
dafuq is this..?
Our platform architect gives a damn about continuous delivery.
Today I asked the architects for help, because bamboo is not able to trigger a deployment plan by changes in repository branch pattern release/x.x.x.
He cancelled my question with the statement "if we have the Kubernetes environment, we have more valuable things to work on".
Generally CD is no rocket-science and it is achievable with reasonable effort!
We use a bamboo cutting board in the kitchen. Sometimes it's bent a little through the middle and sometimes it's straight. I still don't know if it's a bug or feature.