Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "ci-pipeline"
-
The reason why aliens are avoiding earth:
Me : Guys, the CI/CD pipeline is ready. ci.yaml is our config file, so don't remove it as the deployments will fail.
**10 seconds later**
slack: BUILD FAILED
Me: *Looks at git commits* "Brian removed ci.yaml
Wtf BRIAN!🖕🖕🖕🖕16 -
"WE'RE HIRING!!"
Skills Required:
BEFORE: HTML, CSS, JS, jQuery
NOW: REACT/VUE/ANGULAR, NODE, CI/CD PIPELINE, DOCKER, GRAPHQL, JOHN CENA12 -
"Don't deploy on Friday" is a public admittance that your company either has no CI/CD pipeline, or that all your devs are retarded rhesus monkeys who only wipe their ass if the product manager wrote it as a spec.
If the saying was: "Don't port your whole API to GraphQL on a Friday", or "Don't switch from MySQL to Postgres on a Friday", I would agree.
But you should be able to do simple deploys all the time.
I deployed on Christmas & New Year's eve. I've deployed code while high on LSD, drunk-peeing 2 liters of beer against a tree after a party. I've deployed code from the hospital while my foot was being stitched up. On average, we deploy our main codebase about 194 times a week.
If you can't trust your deploys, maybe instead of posting stupid memes about not deploying on Fridays, you should fix your testing & QA procedures.46 -
As a Java developer, reasons to kill other programmers:
- static mutable variables
- WRITING to static mutable variables
- API call with Framework X didn't work. Add Framework Y along with X and try that. Wrap X in try/catch statement. Catch block fires framework Y.
- six, seven, ten levels of nested code. Zero thought put in organization
- 6K LOC Java files
- spring (singleton? Maybe) object assigning values in static mutable (see pt.1)
- a couple of unit tests in code base that no longer work. Zero unit tests in new code
- unit testing disabled in CI pipeline
- empty catch blocks
- pass mutable data between threads. Modify in various places concurrently.3 -
Woooooooo!
Just finished my first fully automated CI/CD system. Now all my commits go through the pipeline and gets deployed to live automatically.
It's a small project but still, it's really cool!10 -
I jump on an existing scala project.
git pull && sbt compile test
Tests are failing.
Me: "Hey team, the tests are failing."
Team member: "That cannot be. They were passing for the the last run."
Me: "Did you run them locally?"
Team member: "No, on Jenkins. It was fine."
I check Jenkins.
Me: "What do you mean it's fine. The last successful deployment was on the end of May."
Team member: "The Pull Request checker always went through successfully."
I check how our Jenkins tasks are configured. It's true that the Pull Request Checker runs successfully yet due to a "minor misconfiguration" (aka "major fuckup") the Pull Request Checker only tests a tiny subset of the entire test suite.
Team members were were fine if their Pull Request got the "Success" notification on bitbucket's pull request page. And reviewers trusted that icon as well.
They never checked the master run of the Jenkins task. Where the tests were also failing for over a month.
I'm also highely confused how they did TDD. You know, writing a test first, making it green. (I hope they were just one specific test at a time assuming the others were green. The cynic in me assumes they outsourced running the tests to the Jenkins.)
Gnarf!
Team member having run the tests locally finally realizes: "The tests are broken. Gonna fix them."
Wow. Please, dear fellow developers: It does not kill you to run the entire test suite locally. Just do it. Treat the external test runners as a safety net. Yet always run the test suite locally first.4 -
Me passing time on the weekend
Random call from unknown number
Turns out it's the manager
M: hey , how is your weekend going ...
Me: nothing much ... Whatsup ?
M : yeah well , we wanted to push some minor adhoc fixes as some clients wanted it urgently
The Devops folks need developer support . Can you pitch in and monitor
Me : I'm not aware of what changes are going , i don't think i can provide support
M : don't worry it's minor changes , it's already tested in pre prod , you just need to be on call for 30 mins
Me : ugh okay .. guess 1 hr won't hurt
M: thanks 👍🏽
Me: *logs in
*Notices the last merged PR
+ 400 lines , implemented by junior dev and merged by manager
*Wait , how is this a *minor* release...
*Release got triggered already and the CI CD pipeline is in progress
*5 mins later
*Pipeline fails , devops sends email - test coverage below 50%
Manager immediately pitches in ...
M: hey , i see test coverage is down , can you increase it ?
Me: and how do u suppose I do that ?
M : well it's simple just write UTC for the missing lines ... Will it take time ?
Me : * ah shit here we go again
Yeah it will take time , there are around 400 lines , I am not aware of this component all together
Can you ask junior dev to pitch in and write the UTC for this
*Actually junior dev is out on a vacation with his girlfriend
M : well he's out for the weekend , but
as a senior dev , i expect you to have holistic understanding of the codebase and not give excuses ,
this is a priority fix which client are demanding we need this released ASAP
Me : * wait wat ?
---
I ended up being online for next 3 hours figuring out the code change and bumping up the UTC 🤦🏾9 -
There is nothing sexier than a well designed CI pipeline....i have wet dreams about that green check mark.3
-
I recently started working with CI/CD in gitlab. I don't know why I had such a hard time getting it to work. I left it hanging for another day. Yesterday, before I went to sleep, I merged to master branch. On waking up I can't explain my happiness when I saw my pipeline... 😀6
-
Not exactly a dev related rant.
Do you ever get the feeling when you're not working, like today, that you're kinda wasting time (can't find a better way to describe)? I usually work on Sunday at home, running behind insane deadlines, trying to anticipate tasks. Today was different, I woke up to a fresh VS 2017 install, updated my .net core api to 2.0, learnt how to deploy to Azure, made a CI/CD pipeline and then spend some fun time with my 5 month baby. Argued with him when Azure didn't let me make a new subscription. Sat on the sidewalk with him doing absolutely nothing for a solid half hour, only looking the way he admired everything around him and stuff. Took the trash out, did the dishes, helped with the laundry. But yet I feel like tomorrow gonna be a rough day, where everything will blow up 'cause I didn't did anything work related.
I'm starting to think I lost the taste of enjoying myself, enjoying the people around me, my family, parents, friends. I've been spending too much time on autopilot. Wake up, smoke, work, eat, work, smoke, sleep. Repeat.
I do enjoy my job, a little less when it's not dev related, but I do anyway. We are a small company with big contracts and tight deadlines. Always struggling to give our best and advance further, but I can see I'm loosing something while giving 120% of attention to my job.
Anyway, just wanted to get this thing out of my chest. Thank you if you read this far.7 -
Hey there!
So during my internship I learned a lot about Linux, Docker and servers and I recently switched from a shared hosting to my own VPS. On this VPS I currently have one nginx server running that serves a static ReactJs application. This is temponarily, I SFTP-ed the build files to the server and added a config file for ssl, ciphers and dhparams. I plan to change it later to a nextjs application with a ci/di pipeline etc. I also added a 'runuser' that owns the /srv/web directory in which the webserver files are located. Ssh has passwords disabled and my private keys have passphrases.
Now that I it's been running for a few days I noticed a lot of requests from botnets that tried to access phpmyadmin and adminpanels on my server which gave me quite a scare. Luckily my website does not have a backend and I would never expose phpmyadmin like that if I did have it.
Now my question is:
Do you guys know any good articles or have tips and tricks for securing my server and future projects? Are there any good practices that I should absolutely read and follow? (Like not exposing server details etc., php version, rate limiting). I really want to move forward with my quest for knowledge and feel like I should have a good basis when it comes to managing a server, especially with the current privacy laws in place.
Thanks in advance for enduring my rant and infodump 😅7 -
Did anyone of you worked for a company where:
- there was a financial success
- code was clean and was enabler for fast delivery
- tests were professional
- CI/CD pipeline was working as expected
- features were developed in small chunks (few PRs per day)
- managers were trustful and were solving real issues to help you
- refactor was part of the everyday development
Is it even possible? Is there at least one company who achieved success doing the above?13 -
Tuesday.
Director: we need to add our partner's project to our ci pipeline
CTO: we need to add ci to this repo, it should work via this tool (not the one we use now)
PM: we need to use this new tool, figure it out until Friday
TL: we need to move all our projects to this new ci tool, don't ask, the task is given by CTO
Me: okay
Friday.
Me: everything is ready except for this one old project
TL: we couldn't use it for one of our projects
PM: we had difficulties with the new tool
CTO: we couldn't add our partner's project to the pipeline
Director: *gives me a warning for being incompetent*1 -
YESSS!!!! IT'S GREEN!!! FINALLYYYY!!!!!!!!
3 weeks ago I started building this CI pipeline. Finally, I see something GREEN!! YAYYYYYYYYYY!!!!!!!
P.S. A complete build requires 23GB of disk space, lasts 1h40m, and artifacts are too big to be cached, so everything must be shoved into a single CI job.
You've gotta love building monoliths...11 -
Building my own router was a great idea. It solved almost all of my problems.
Almost.
Just recently have I started to build a GL CI pipeline for my project. >100 jobs for each commit - quite a bundle. Naturally, I have used up all my free runners' time after a few commits, so I had to build myself a runner. "My old i7 should do well" - I thought to myself and deployed the GL runner on my local k8s cluster.
And my router is my k8s master.
And this is the ping to my router (via wifi) every time after I push to GL :)
DAMN IT!
P.S. at least I have Noctua all over that PC - I can't hear a sound out of it while all the CPUs are at 100%12 -
PM: this is our super fancy new CI/CD pipeline, it's the greatest. i expect you to learn and understand all this in no time.
devs: so i have to spend some more time on this topic because it's completely new to me and requires some learning...
PM: nooo, that's a super easy task with zero effort, my braindead hamster can do that in no time, so can i, and so can you! let's assign 1 story point for that.
~ 3 months latèr ~
also PM, after he has started developing as well: so i'm realizing there are many things that i have to learn, and it takes me some time. i haven't developed with C++ and <other tool stack> for a longer time. by the way, you guys don't need to check for any quality right now, we need to deliver fast. it's okay, when you have memory overflows, your code is completely crappy, poor architecture or memory overflows, it doesn't matter.
he even has a subtask for migrating his code from VS project to our new project structure, since he refused to learn our pipeline right from the beginning and created VS project instead. シ why is this a subtask? this job can be done in no time, my left vanishing twin named Klaus who has dislexia and hates vim can solve this task in 20 seconds!!!!11
(and still no PR, not even a feature branch in our repo)2 -
Central team: No, your team must be doing something wrong. Our pipeline is super-configurable and works for any situation! You just have to read the docs!
Me: Where are the docs?
Central team: Uhh, well, umm... we'll hook you up with a CI/CD coach!
Me: Okay, cool. In the mean time, can you point me at the repo where all the base scripts are?
Central team: Sure, it's here.
Me, some weeks later: Yeah, uhh, the coach can't seem to figure out how to make our Prod deployment work either.
Central team: That's impossible! It's so easy and completely configurable!
Me: Well, okay... but, here's the thing: your pipeline IS pretty "configurable", in the sense that you look for A LOT of variables...
Central team: See! We told you!
Me: ...none of which are actually documented, so they're just about useless to me...
Central team: But, but the coach...
Me: ...couldn't make heads or taisl of it either despite him literally being ON YOUR TEAM...
Central team: Then your project must just be architected wrong!
Me: Well, we're not perfect, so could be...
Central team: Right!
Me: ...but I think it's far more likely that the scripts... you know, the ACTUAL Python scripts the pipeline executes... while it took me DAYS to get through all your levels of abstraction and indirection and, well, BULLSHIT... it turns out they are incredibly NOT flexible. They do one thing, all the time, basically disregarding any flexibility in the pipeline. So, yeah, I'm thinking this is probably one of this "it's you, not me" deals.
Central team: Waaaaahhhhhhhh!!!!!!2 -
them: welcome new project members, this is our CI/CD pipeline which is completely different from the rest of the company, there won't be any great knowledge transfer, we just expect you to be able to know and use everything. but also, we expect you to work on your tasks and don't waste any time.
me: okay, so my tasks aren't going as fast as expected, because I need to invest some learning so i can set up my project correctly.
later: some help would be nice, i'm stuck right now
coworker: *helps me to fix my problems, which were partly due to misconfigured build servers* i know it's a lot, and unfortunately, for this topic sources on the web aren't so good. i can really recommend this book, this will give a deeper understanding of the topic.
me: okay, yeah i mean, tbh, i'll read the book if the project invests some time for me so i can learn everything that's required, but this won't happen. also, some initial workshop on the topic or anything would have been nice.
coworker: well, i mean, i am a software developer. for me, it is normal that i learn all that stuff in my free time. and i think that's what the PM expects from us.
me: okay, that's fine for you, i mean, if i'm interested in a topic, i will invest my private time. but in this case, PM would just expect me to do unpaid labor, to gain knowledge and skills that i can use in this specific project. i'm not willing to do that.
coworker: ...
me: ...
it's not that i don't want to learn. the thing is that there isn't any energy left by the end of the day. i'm actually trying to find some work life balance, because i don't feel balanced right now, haven't felt since i started this job.
also, this is only one of several projects i'm working on. it's like they expect me this project has top priority in my life. if it wasn't so annoying on different levels, maybe i'd have a more positive attitude towards it.
also, at the moment i find it fucking annoying that i have to invest so much time in this dev ops bullshit and this keeps me from doing my actual work.
if they are unhappy with my skills, either they can invest in my learning or kick me out. at this point, either is fine for me..12 -
I thought of posting this as a comment to @12bit float' post, but then decided it better goes out as a post by itself.
https://devrant.com/rants/5291843/...
My second employer, where I am on my last week of notice currently, is building a no code/low code tool.
Since this was my first job switch, I was in a dreamy phase and was super excited about this whole space. I indeed got to learn like crazy.
Upon joining, I realised that an ideal user persona for this product was a developer. Wow! No code tool for developer. sO cOoL...
We started building it and as obvious as it could get, the initial goal was adoption because we were still at top of the funnel.
We launched an alpha release shortly followed by a beta.
Nobody used it. Tech XLT/LT kept pushing product and design team to run a feature factory so that their teams can use this tool.
The culture set by those two leaders was toxic as fuck.
Now, I decided to do some research and some more product discovery to understand why folks were not using it. Mind you, we were not allowed to do any research and were forced to build based on opinions of those two monkeys.
Turns out that the devs were really happy with their existing tools and our tool was another tool being forcefully added into their toolbox by the said XLT/LT.
Not only that, even if they decide to use our tool, out of pressure, they still cannot because the product was missing key capabilities like audit control and promotion from one environment to another.
Building those would essentially mean reinventing Github aka version control and Spinnaker aka CI/CD pipeline.
My new boss (I got 3 managers in 4 months because of high attrition across levels due to the toxic culture), thinks that tech XLT/LT are doing great and we all suck as a product and design team.
He started driving things his own way without even understanding or settling down for first 90 days.
Lol, I put in my resignation got out of that mess.
So agreeing to what our boy said here, no code tools are a complete waste, especially for a developer, and even as a non tech person, I prefer keyboard over mouse.2 -
Management has been promising we'd leave .NET framework for 2 years now. Never fucking happens. A new ASP.NET project was just started last week and yup, OF COURSE, its .NET Framework 4.8.
I'd even be happy with one of the earlier .NET Core versions at this point for fucks sake. I have no clue why tech leads are so happy to create a brand new project on a deprecated framework version.
And yes, I have checked thoroughly. Our whole infrastructure works with .NET Core onward. People are just too lazy to learn new stuff.
Stuff like switching to .NET 6, actually doing unit testing, improving our CI/CD pipeline, refactoring problematic codebases, etc. -> all this stuff is the kind of things they promise me I can work on later whenever I'm so bogged down with work that I'm looking for a light at the end of the tunnel. All empty promises.
Ideally we should be on .NET 6 since its LTS and just stay on the LTS versions as the year goes on.8 -
I know you, youre out there somewhere, coding, feeling like shit, putting your best, listening to coldplay, in the server room, your basement ... I know you veryy well1
-
You guys! You guys! You'll never believe what happened today!
I used out CI pipeline half a dozen times today and it worked every time!
Seems impossible, I know, but it's true!1 -
** me setting up GitLab CI **
- run pipeline
- FAIL
- env variable not passed to one of the shell scripts
- set -x, rerun
- FAIL
- same reason. env variable is OK in the `set -x` output
- comment out `set -x`, rerun
- still FAIL
- same reason
- find a `set +x` left in one of the scripts
- comment that out
- rerun
- PASS
- WTF?!?!?!?
- continue on swearing for wasted better half of the day debugging my scripts12 -
Long time ago i ranted here, but i have to write this off my chest.
I'm , as some of you know, a "DevOps" guy, but mainly system infrastructure. I'm responsible for deploying a shitload of applications in regular intervals (2 weeks) manually through the pipeline. No CI/CD yet for the vast majority of applications (only 2 applications actually have CI/CD directly into production)
Today, was such a deployment day. We must ensure things like dns and load balancer configurations and tomcat setups and many many things that have to be "standard". And that last word (standard) is where it goes horribly wrong
Every webapp "should" have a decent health , info and status page according to an agreed format.. NOPE, some dev's just do their thing. When bringing the issue up to said dev the (surprisingly standard) answer is "it's always been like that, i'm not going to change". This is a problem for YEARS and nobody, especially "managers" don't take action whatsoever. This makes verification really troublesome.
But that is not the worst part, no no no.
the worst is THIS:
"git push -a origin master"
Oh yes, this is EVERYWHERE, up to the point that, when i said "enough" and protected the master branch of hieradata (puppet CfgMgmt, is a ENC) people lots their shits... Proper gitflow however is apparently something otherworldly.
After reading this back myself there is in fact a LOT more to tell but i already had enough. I'm gonna close down this rant and see what next week comes in.
There is a positive thing though. After next week, the new quarter starts, and i have the authority to change certain aspects... And then, heads WILL roll on the floor.1 -
I just joined a new company.
Their CI pipeline is to give root access to staging and prod servers to every developer in the company and the manually git pull each repository (8-10 repos per server) and manually set nginx and port configurations. And if this wasn't enough, all of the 30 sites they have are basically the same site and they make the changes manually for each tenant (no env file). I'm amazed at how hard some people are willing to work.5 -
God, so tilted right now, after having to "urgently" (joke's on them, they will get charged the urgent rate) check why some deployments weren't working due to some npm dependencies not being found.
(Just from mentioning npm you surely think I'm gonna bash JS, but no!)
I'm tilted by TS devs that don't bother to learn the very basics of git pathspecs and just add "dist" to their .gitignore, not knowing that it's gonna exclude any file or directory named "dist" *ANYWHERE* in the project.
And when your poor CI pipeline tries to transfer the build artifacts (so, keeping the .gitignore excludes but manually including node_modules and dist), it excludes the dist dir in some packages and wrecks the deployment.
Please,, please, PLEASE.
if you want to:
A) Make your entry relative to the .gitignore...
Put a slash first.
B) make it only match directories and not files...
Put a slash last.4 -
Crazy deadlines> Director: "You need to design a new architecture that has failover, multi-AZ, automated deployments, CI/CD pipeline, automated builds/tests as well, for our new SaaS product. You have 3 days to complete it"
Me: "Ok cool. Do we have the new product developed? Can I have the spec docs of the new software, libs and packages required for the env?"
Product Lead: "No we dont have anything yet. The POC is on my local PC, but I dont know what packages are needed to run it"
Me: "So I cant design anything unless I have the minimum requirements to run the new software"
Director: "Just get it up and running in a live environment and we'll take it from there"
Me: *sigh*..this is going to be a big mistake -
I'm in a team of 3 in a small to medium sized company (over 50 engineers). We all work as full stack engineers.. but I think the definition of full stack here is getting super bloated. Let me give u an example. My team hold a few production apps, and we just launched a new one. The whole team (the 3 of us) are fully responsible on it from planning, design, database model, api, frontend (a react page spa), an extra client. Ok, so all this seems normal to a full stack dev.
Now, we also handle provisioning infra in aws using terraform, doing deployments, building a CI/CD pipeline using jenkins, monitoring, writing tests, building an analytics dashboard.
Recently our tech writer also left, so now we are also handling writing feature releases.
Few days ago, we also had a meeting where they sort of discussed that the maintenance of the engineering shared services, e.g. jenkins servers, (and about 2-3 other services) will now be split between teams in a shared board, previously this was handled only be team leads, but now they want to delegate it down.
And ofcourse not to mention supporting the app itself and updating bug tickets with findings.
I feel like my daily responsiblities are becoming the job responsibilities of at least 3 jobs.
Is this what full stack engineering looks like in your company? Do u handle everything from app design, building, cloud, ops, analytics etc..7 -
shutdown an old Jenkins CI pipeline from one of our teams... after one month they call us to bring it online again because they don't know how to build it manually.... lol #automation #scripting #jenkins2
-
"I'm gonna wake up early, and hammer out this feature, being super productive tomorrow"
Tomorrow comes:
- unexpected build errors
- unexpected runtime errors
- intermittent CI pipeline errors
- spends two hours trying to resolve errors
- literally hasn't touched the thing that's important
What else is going to go sideways? Watch Bitbucket or CircleCI fuck up and refuse to deploy this live for some stupid reason.8 -
Don't you just love it when gitlab's ci pipelines crash for no apparent reason, causing tests which cannot fail to just magically break down, change logging levels to Just about anything and basically PMS for about 3 hours before it decides it needs to restart completely and when you return the same pipeline which you've been trying to fix for the better part of an entire evening, after regular work hours, it. Fucking. Works. With. No. Changes. To. The. Entire. FUCKING. System.
Waste of a day.3 -
I am lying down on the floor because I cannot figure out why this specs pass locally but repeatedly fail on the ci/cd pipeline. Literally done everything now I just want to lie here and sleep.3
-
I can't set up testing, a decent structure for my projects, or a basic CI/CD pipeline, because my clients want everything immediately, and my boss just sells my workforce without aknowledging anything of my relationship with the clients. I'm tired af, unsatisfied by what I produce and desperate for side projects to use my skills1
-
we want you to be
- full stack developer (you do everything front end, back end)
- dev ops/SRE (you can sort out the deployment CI/CD pipeline, cloud platform services AWS/GC/Azure whatever)
- architect (you can design the software as well)
all in 1, you gotta be multiple roles/departments
good luck getting this experience on the job (hell in a startup is not for everybody and certainly not for me)
also why the fuck companies who aren’t startups ask for this idk
not sure if i missed any roles/competencies so far , don’t forget you need like >=3 years of experience possibly in every field for entry roles and more for anything higher than that9 -
“OhhHhh please fill out an entire fucking excel sheet for our test environment deployment. It helps us manage everything better and gives us a reason to fucking thumb around in our holes all day and pretend like we really mean something as managers.” Like absolutely no, you can go fuck yourself with a condom filled with broken glass shards and diseases is what YOU can do. You are a parasite.
“Senior lead developer” - but they don’t have a title - says: “please just give me the list of files I need to manually change on the env in real time”. Bitch, do you even know what CI/CD is?!?!? The fact that you have been doing this for a year straight makes me pity how much of a fucking dumbass you really are. Even if u don’t use a pipeline, just look at my fucking git changes. That’s literally why we have it. You are a fucking disgrace of a developer and I hope you know that everyone who is a competent dev would rather bathe in a bath filled with lemon juice and cactus spikes, before EVER working with YOU EVER AGAIN!!!1 -
Yesterday, I was expecting my merge request to be closed.
I've done all the stuff my tech lead told me to do.
All tests passes, green light boyzzzzz.
Gitlab CI pipeline passes, greeeeeen light I said.
In Jenkins everything f*cked up...
Why ??
Well it was a conflict with 3 other MRs, missing rebase from other dudes.
And because they were remote working, got to clean up all this mess.
That's was a day off.
PS : well that's was not so off, I could fix a UB on a ternary and extend a test which was not covering some cases.
PS2 : learn git damn3 -
I had to argue with my lead today, to prove that docker is actually a container technology and not a CI CD pipeline -_-
That too in the team meeting.
P.S. Not much of his fault though, as ours is a mobile app development team :/5 -
!rant
there's almost nothing more satisfying then getting an automation script or CI/CD pipeline juuuuuuuust right 😎 -
It's really fun to not have access to the CI backend and keep only troubleshooting build crashes through a CI that takes 15min to run until it crashes :)))
1 diagnostic command == 1 pipeline run
1 typo == another run :)
it's been 2 sprints now. Still no luck2 -
It usually starts with a project, a CI pipeline, unit tests, deployment guidelines, and wait - oh crap - what am I building again?
-
<Question>
I'm curious: For those of you who have tests running in CI pipelines at work:
How long does it take to run the tests, in relation to the system's size?
At my company, it's ~ 30 mins, testing 1M lines of code (750k SLOC) written in Java (85%) and JS (15%).7 -
It's too early to be asking these questions today:
Are your DB schema changes checked into source control?
What branch are they checked into?
Why are the schema changes checked into one branch, but deployed to a completely different database?
Is my CI pipeline deploying incorrectly? Oh, you manually deployed changes.
Are your DB changes in source control an accurate reflection of what you actually put in the staging database?
Why not?
Can I just cherry-pick update my schema with your changes from the staging database?
Why is there a typo in your field name?
Oh. Why is there a typo in the customer data set? Don't they know how to spell that word?
Why is the fucking staging database schema missing three critical tables?
Is the coffee ready? I need coffee.
Why is the coffee not ready yet?
What's going on in DevRant this morning?
What project am I working on now anyway?
Did my schema update finish yet?
Yup, it finished. Crap. Where the hell do I keep those backup files?
What's the command line to restore the file again?
Why doesn't our CLI tool support automated database restores?
I can fix that. What branch name should I check the CLI tool into?
What project was I working on this morning again?1 -
Name a more 2018/2019 New Year’s Eve.. We used a new emoji in a commit message and it borked the CI pipeline.3
-
Was working on setting up a ci/CD pipeline. The ci part with automated testing and deployment to a on-premise docker registry worked already, so I thought "hey I could try to actually run one of those fresh containers" so I tried it with the usual docker run command.. "Manifest not found" suddenly appeared, it confused me a bit since I used the same url I used for publishing... So I googled around only to find NOTHING that is even remotely connected to my issue. "Eh let's let the guy that runs that registry fix it" was what I thought and called it a day. The next day I was eager to try it again and checked the urls case by case only to notice that I wrote secret-project-backend-client instead of secret-project-api.. I tried it with the new name and it worked!
Never felt so retarded in my life.... -
What the hell kind of tool is Gitlab? I just want to automatically backmerge hotfixes from master to development. Even fucking Bitbucket had a checkbox to enable this. But not Gitlab, no, you better create a pipeline job in your already unreadable, overcrowded pipeline yml, but oh, the checked out repo in the pipeline is a detached head and you cant push with the user that checks out there. So what, just use a project acess token which revokes after a year breaking your task and then switch origin amd branch manually. But your token-user can't push to protected branches, so create a merge request instead, which requires approvals, making the automated step no longer automated.
But dont worry, you can just use the gitlab api to overwrite the approval rules for this MR so it requires 0 approvals. But to do so you must allow everyone to be able to overwrite approval rules therefor compromising security.
And so you made a feature that should effectively be a checkbox a 40+ line CI job which compromises your repo security.
which nuthead of an architect is responsible for the way gitlab (and its CI) is designed?6 -
What do you think of Elixir + Phoenix to build API’s? Is it a better choice than a more established language like Python or something more new like Scala or Clojure?
At my company we're going through a watershed moment where we're starting to discuss and think about re-building our digital foundations and nothing is off limits. I'm leading the discussion about our architecture where everyone can have their say into what the future looks like for our applications. We're currently on a Drupal (CMS) + PHP7/Symfony (Backend Content Repository) + Symfony Twig templates (Frontend)
Even though I have been developing in PHP most of my career, I personally love Elixir and spend a lot of my time away from work learning it but many of my reasons feels subjective like pattern matching, it's actor concurrency model, immutable data and not having to deal with classes/objects, and I'm not entirely sure how that translates to business value, advocating successfully for a tech stack change requires solid reasoning and good answers to challenges like how do we find Elixir developers when existing devs leave, how easy is it to build a CI/CD pipeline for Elixir/Phoenix, etc.4 -
It's the top of Round #6, the score is:
CI-Pipeline with 5 points, and the developer with 0. Remember, these rounds are 20 minutes long. Let's see if the developer can get a point before the end of the first two hours.1 -
!rant
For the past weeks I've been reading about continuous integration and today I finally decide to dive into Gitlab-CI. After a couple hours I finally managed to have a working pipeline for one of my project using a self-hosted runner and holly shit that was satisfying. Now I just don't see myself not using this in the future -
I hate people who don't do basic debug and say that it is a Infra/DevOps pipeline issues. If you are not able to compile in your local how it can be compiled by CI engine.2
-
I love that I need to fucking babysit the fucking CI pipeline because, half of the times, it just RANDOMLY FAILS and I need to hit that fucking retry button like a 19th century kid respooling a loom.6
-
Only when the latest feature is implemented, the last bugfix and the last workaround are found, the last unit test is written, the latest CI/CD pipeline done, the customer guy does manual testing and acceptance tests on the staging server and let's them pass and a few days later it's pushed to production...
You will be reminded (again) that shitty customers do exist! A customer is the least capable person to tell you what the customer actually wants and is also the least trustworthy person to test the features he requested...
Holy fuck come on! Just test that shit on the staging Server! One Look could have already shown you that that's Not what you expected!
I checked the logs after that and yup you guessed correctly... The said endpoints weren't even used on staging, only on production...1 -
Funny how things comes around...
So... project start-up... everybody learning and designing the future new system. Then we get to a point that we saw that we'll probably need someone outside or dev team to setup all the environments CI/CD pipelines... Our PM said "what about we get a Devops guys to take care of that?" Most of our team members agreed but our Techlead said "Devops is not a job, it's a culture.". Ok, nice... I understand that point, but for a system of the size of the one that we're building...It would probably be a good idea to have someone to take care of that for us. BUT, he (the techlead) said that he will be taking care of all that himself (along with coding part of the backend).
RESULT: We're stuck in the point that we're unable to test our system in the correct environment, we've no pipeline for automated deploy of our sprints...
Guys, I think the Devops is no more then somebody that is going to take care of some tasks in the project, like the backend, the frontend, the tests, the management...2 -
How do you do your CI/CD pipeline? Sorry if this is a dumb question. Just wondering how the tests and deployment usually runs. Is it on a per team basis? Is it the whole release getting deployed to Test many times per day? What happens if too many automated tests fail or there is not enough coverage, does it abort the deployment? If so, how can every team get delayed by every issue - is that actually a good policy?
My pipeline is very slow and requires a team of 12 people working in shifts to complete it. I’m not an expert but I know it does a lot of steps and never completes without manual intervention. I would like to help but I’m not sure how bad it is.3 -
Creating the build script for the CI pipeline:
- 20% trying to avoid someone getting access to passwords, tokens, etc.
- 10% writing commands for the build and tests
- 70% writing work arounds for bugs and errors caused by the CI system or SDKs in headless environments...4 -
We recently pulled in a developer onto the devops team, and also our manager was fired a month ago. Everything devops is Python/Go but all our developers are in Clojure or Node. He's recently been writing a lot of stuff on Clojure and I didn't get an opportunity to bring it up at the last retro.
Recently he changed all our old Go projects to use a CI-pipeline he built, even though I wrote a build tool, with tests, that does everything his pipeline does, in Python .. over two years ago. When I asked him why he doesn't just use our existing builder, he responds saying he doesn't know why he should use some tool/script just because it exists ... um, everything we've built uses it?! 😡
Our last manager was a dick and I understand why they let him go, but he also would put this guy in his place. He's literally made is own little "devops roadmap" for himself and shared it out with the team. It's all about his personal goals and what he wants.1 -
Spent the last few days trying to solve a weird issue with our CI/CD pipeline for a project. Yesterday i finally gave up and told my coworker that i need a fresh set of eyes to look at this.
I leave for lunch, an hour later I'm back and brought fire and fury to the mix.. Then, 2 hours later i raised my hands and my mouth uttered the glorious words of victory: Fuck yeah, it works.
Mood was still shit though... 1 bug down, 99 life problems remain 😢 -
The integration of technologies project I have this year. Not yet finished but I already learned a lot of very cool stuff.
First, I learned a new programming language + framework (Ruby on Rails)
Second, for the first time, I implemented a continuous deployment pipeline with Capistrano and Travis ci.
Third, first time I programmed a Restful API.
And more cool stuff coming up ! :D
I freaking love learning ! -
I have never used Docker and/or Kubernetes. Motivate me to use it by telling me how cool it is.
I want to build a complete ci-pipeline but am too lazy to start... there is so much to do, and I don't know where to start.6 -
Why do tech writers always produce deliverable documents in Word files instead of Markdown, LaTeX, or anything that is easy to CM? It would be easier to track revision history and dump out of the CI/CD pipeline to the customer.4
-
I cant believe the project I'm working on does not use kubernetes or terraform. Not even docker. How is this multi trillion dollar project even in business?
I feel so sad for not having the opportunity to work with one of the most fundamental and most important technologies to know as a devops engineer... So sad
I cant advance or improve. Im just stuck in their ecosystem like Apple
This corporation is probably ran by 90 year old grandpa men from world war 1. However considering they are so large and still in business this gives me hope that anyone can make it even if you're stupid
Think about it
They are proof that you can run a giant business with hundreds of employees, not use k8s and the most modern devops technologies, and still operate just fine.
The devops code i have to maintain is older than the amount of years i exist. Its very messy and most of this shit is not even devops related. Its more of some kind of linux administrative tasks mixed with 3 drops of actual devops (bash scripts, ansible scripts, ci/cd pipeline)
And yet im paid more than i have ever been paid in any job so far
What should i do. Stay due to "high" money or..ask for a project with k8s. I put "high" in quotes because it is extreme luxury in my shithole country, im now among top 1% earners of the country, and yet i make less than 30k a year. With less than 30k a year i cant buy a good car but i can live very comfortably in my country. I cant complain about this salary since i think its finally enough to invest to get a chance to earn more and still have enough left to live comfortably.
Before i was just working to survive. Now im working to live. Its an upgrade.
Due to not working with difficult stuff like k8s i cant demand for more money. It wouldnt feel justified. I'm stuck here
What would u do9 -
*deletes env var* "I'll just hard code this to localhost for now, my ci/cd pipeline will setup everything later"
*Pushes to master, forgets to undo*
Aw fuk,
I should of just changed the .env file -
Does the company you work at have a CI/CD pipeline (Continuous Integration/Continuous Delivery, e.g. with Octopus Deploy)?
Sometimes it surprises me how many companies don't have this..10 -
Pipeline as json is pain and you can't even validate until it breaks on the ci
#makesProgrammingHell4 -
I keep a collection of strange logs I see scrolling by the CI Pipeline. What's your strangest log entry?
-
Nextjs
I just realized
unit tests and integration tests dont exist in nextjs
So now i wondered
What about integrating AWS cloud functions with nextjs?
What about docker with nextjs?
Kubernetes with nextjs??
How TF do u implement a CI/CD pipeline with nextjs if there is nothing to test?!?!??
Nextjs seems like itself is self sufficient. WTF? Everything has been packed and cluttered into 1 giant pile of horsedump and called Nextjs Framework where you dont need k8s to run it or anything. Might as well then rename this fucking "framework" to GOD of all frameworks since it appears it can fucking do anything and everything without requiring HEAVY DevOps bullshit.
ALL of it can be cluttered in 1 nextjs project and you have a fully functional production working website that can basically do ANYTHING and EVERYTHING.
How???
Am i fucking going insane? Am i missing something here??19 -
Bad (or at least uninformed due to unclear requirements) design decisions lead to somewhat perplexing (and above all, frustrating) problems down the line...
Here I am, wrote a cli client for event bus subscription, and since EC2 is eqv to Docker, had to fix the main function to keep it alive - now the deploy stage on the ci/cd pipeline fails due to startup script timing out. But why tho?
I’m not really sure whether I should’ve designed this differently from the get-go or whether my build and deploy configs don’t match anymore due to recent changes and I should figure out what’s wrong with them... or both.
Bottom line is: I have no idea what I’m doing.9 -
I cant find 1 single normal Fucking tutorial explaining how to code FULL DEVOPS PIPELINE for deployment to AWS.
A pipeline that includes
- gitlab (ci cd)
- jenkins
- gradle
- sonarqube
- docker
- trivy
- update k8s manifest
- terraform
- argocd
- deploy to EKS
- send slack notification
How Fucking hard is it for someone to make a tutorial about this????? How am i supposed to learn how to code this pipeline????10 -
Best Practices for Implementing CI/CD Pipelines in a Microservices Architecture
Hello everyone,
I'm currently working on implementing CI/CD pipelines for our microservices-based application and I'm looking for some best practices and advice. Our architecture consists of several microservices, each with its own repository and development team. We've been using Jenkins for our build automation, but we're open to exploring other tools if they offer better integration or features.
Here are a few specific areas where I need guidance:
Pipeline Design: How should we structure our CI/CD pipelines to handle multiple microservices efficiently? Should each microservice have its own pipeline, or is there a better approach?
Deployment Strategies: What deployment strategies work best for microservices to ensure zero downtime and easy rollback? We're considering blue-green deployments and canary releases, but would love to hear about your experiences.
Tool Recommendations: Are there any CI/CD tools or platforms that are particularly well-suited for microservices architectures? We're particularly interested in tools that offer good integration with Kubernetes.
Testing and Quality Assurance: How do you handle testing in a microservices environment? What types of tests do you include in your CI/CD pipelines to ensure the quality and stability of each microservice?
Monitoring and Logging: What are the best practices for monitoring and logging in a microservices setup? How do you ensure that you have visibility into the performance and issues of individual microservices?
Any insights, resources, or examples from your own implementations would be greatly appreciated. Thank you in advance for your help!3 -
GitLab, you really should fix your CI.
I mean, I know .gitlab-ci.yml has to be written carefully, having in mind that GL shell is a castrated bourne shell, but come on... Failing a pipeline because I used a semicolon in an `echo` parameter string?
echo ""items: 0" ## this will fail
echo "items 0" ## this will pass
This is a bit too much.
Removed the semicolon and the pipeline worked just fine.11 -
To the ones using GitLab CI/CD:
Is there a way to trigger a pipeline run on a specific commit? Like in a situation where you're deploying every commit to master into prod, and you need to roll back, but without reverting the commit history.14 -
Any ideas how to skill up devops ? Currently in company im doing simple things with kubernetes, aws, terraform and circleci, and the whole idea click to create your inba cluster is interesting, smells like a few steps from cybersecurity!
Soo i decided to write an app, with two environments, which are staging and prod, configure some ci pipeline, kubernetes deployments and terraform, everything with usage of aws, and then when i will be okay with it, send cv's as devops and change career path.
Seems legit or waste of time ?2 -
Need advice about switching to contracting.
TL;DR;
So I had 2 years of exp as an android dev, then I had a 1.5 year gap from doing android and now for the past 6 months Ive been doing android again fulltime. Im thinking of switching to contracting due to my debts and boring project and life crushing slow corporate processes in my current fulltime job, so I need tips and advices as to where should I start looking for new contracting gigs and in general what should I pay attention to. If it helps, I am based in EU, but am open to any EU/US gigs.
Now the full story:
Initially when I joined my current fulltime job after a break I had zero confidence, lowered my and employers expectations, joined as a junior but quickly picked up the latest standards and crushed it. Im doing better than half devs in my scrum team right now and would consider myself to be a mid level right now.
Asked for a 50% bump, manager kinda okayed it but the HQ overseas is taking a very long time to give me the actual bump. I have been waiting for 10 weeks already (lots of people in the decision chain were on and off vacations due to summer, also I guess manager sent this request to HQ too late, go figure). Anyways its becoming unnaceptable and I feel like its time for a change.
Now since I have mortgage and bills to pay, even with the bump that I requested that would leave me with like maximum 700-800 bucks a month after all expenses. I have debts of around 20k and paying them back at this rate would take 3 years at least and sounds like a not viable plan at all.
Also it does not help that the project Im working on is full of legacy and Im not learning anything new here. Corporate life seems to be very slow, lots of red tape kills creativity and so on. I remember in startups I was cooking features left and right each sprint, in here deploying a simple popup feature sometimes takes weeks due to incompetence in the chain. I miss the times where I worked in startups, did my job learned nre skills and after 6 months could jump on another exciting gig. Im not growing here anymore.
So because my ADD brain seems to be suited much better for working in startups, and also I need to make more money quick and I dont see a future in current company, I am thinking of going back to contracting. All I need right now is to build a few side apps, get them reviewed by seniors and fill my knowledge gaps. Then I plan of starting interviewing as a mid level or even a senior for that matter, since I worked with actual seniors and to be honest I dont think getting up to their level would be rocket science.
Only difference between mid and senior devs that I see atleast in my current company is that seniors are taking on responsibility more often, and they also take care of our tools, such as CD/CI, pipeline scripts, linters and etc. Usually seniors are the ones who do the research/investigations and then come up with actual tasks/stories for mids/juniors. Also seniors introduce new dependencies and update our stack, solve some performance issues and address bottlenecks and technical debt. I dont think its rocket science, also Ive been the sole dev responsible for apps in the past and always did decent work. Turns out all I needed was to test myself in an environment full of other devs, thats it. My only bottleneck was the imposter syndrome because I was a self taught dev who worked most of my career alone.
Anyways I posted here asking for some tips and advices on how to begin my search for new contract opportunities. I am living in EU, can you give me some decent sites where I could just start applying? Also I would appreciate any other tips opinions and feedback. Thanks!3 -
How do you setup your ci/cd pipeline to work just like you want it, without having to create a quadrillion commits in your repository? Create a branch, make a quadrillion changes and squash them at the end? Is there a better way?2