Jenkins 2: Up and Running. Evolve Your Deployment Pipeline for Next Generation Automation
- Autor:
- Brent Laster
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 606
- Dostępne formaty:
-
ePubMobi
Opis ebooka: Jenkins 2: Up and Running. Evolve Your Deployment Pipeline for Next Generation Automation
Design, implement, and execute continuous delivery pipelines with a level of flexibility, control, and ease of maintenance that was not possible with Jenkins before. With this practical book, build administrators, developers, testers, and other professionals will learn how the features in Jenkins 2 let you define pipelines as code, leverage integration with other key technologies, and create automated, reliable pipelines to simplify and accelerate your DevOps environments.
Author Brent Laster shows you how Jenkins 2 is significantly different from the more traditional, web-only versions of this popular open source automation platform. If you’re familiar with Jenkins and want to take advantage of the new technologies to transform your legacy pipelines or build new modern, automated continuous delivery environments, this is your book.
- Create continuous delivery pipelines as code with the Jenkins domain-specific language
- Get practical guidance on how to migrate existing jobs and pipelines
- Harness best practices and new methods for controlling access and security
- Explore the structure, implementation, and use of shared pipeline libraries
- Learn the differences between declarative syntax and scripted syntax
- Leverage new and existing project types in Jenkins
- Understand and use the new Blue Ocean graphical interface
- Take advantage of the capabilities of the underlying OS in your pipeline
- Integrate analysis tools, artifact management, and containers
Wybrane bestsellery
-
Automate your software development processes with GitHub Actions, the continuous integration and continuous delivery platform that integrates seamlessly with GitHub. With this practical book, open source author, trainer, and DevOps director Brent Laster explains everything you need to know about ...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Czy chcesz odkryć świat kodowania i stać się młodym programistą w zaledwie jeden dzień? Czy chcesz nauczyć się języka, który otworzy przed tobą drzwi do fascynującego świata technologii? Czy chcesz tworzyć własne gry, aplikacje i nie tylko, korzystając z Pythona, jednego z najbardziej przyjaz...
Python w 1 dzień dla najmłodszych. Naucz się kodowania w Pythonie w 12 godzin Python w 1 dzień dla najmłodszych. Naucz się kodowania w Pythonie w 12 godzin
-
Zanurz się w fascynujący świat programowania w języku Python i osiągnij imponujący poziom umiejętności w zaledwie 24 godziny! Oto kilka zalet, które sprawiają, że ta książka jest niezbędna dla każdego aspirującego programisty: Szybki start: podstawy Pythona już w pierwszych godzinach nauki ...
Python w 1 dzień. Nauka programowania w Pythonie w 24 godziny od A do Z Python w 1 dzień. Nauka programowania w Pythonie w 24 godziny od A do Z
-
Język modelowania UML i będące jego częścią diagramy UML odgrywają ważną rolę w inżynierii oprogramowania. Stanowią komunikacyjny pomost podczas pracy zespołowej i w kontaktach zarówno z menedżerami, jak i klientami biznesowymi, niekoniecznie zorientowanymi w procesach projektowych i deweloperski...
UML. Kurs video. Projektowanie diagramów i modelowanie systemów w teorii i praktyce UML. Kurs video. Projektowanie diagramów i modelowanie systemów w teorii i praktyce
(39.90 zł najniższa cena z 30 dni)64.50 zł
129.00 zł(-50%) -
To drugie wydanie praktycznego przewodnika po projektowaniu, tworzeniu, wdrażaniu, skalowaniu i utrzymaniu systemów opartych na drobnoziarnistych mikrousługach. Publikacja została uzupełniona o informacje dotyczące najnowszych trendów i technologii związanych z mikrousługami. Sporo miejsca poświę...
Budowanie mikrousług. Projektowanie drobnoziarnistych systemów. Wydanie II Budowanie mikrousług. Projektowanie drobnoziarnistych systemów. Wydanie II
(65.40 zł najniższa cena z 30 dni)76.30 zł
109.00 zł(-30%) -
Lektura tej książki ułatwi Ci pozbycie się obaw przed biblioteką asyncio. Zrozumiesz jej podstawowe elementy, co pozwoli Ci na rozpoczęcie programowania sterowanego zdarzeniami i prostą obsługę tysięcy jednoczesnych połączeń sieciowych. Dowiesz się, dlaczego Asyncio stanowi bezpieczniejszą altern...(14.90 zł najniższa cena z 30 dni)
21.95 zł
39.90 zł(-45%) -
O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, „czysty” kod i czym właściwie powinien się on charakteryzować. Co więcej – jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzen...(47.40 zł najniższa cena z 30 dni)
55.30 zł
79.00 zł(-30%) -
This book is a comprehensive guide to deploying and scaling frontend web applications on Netlify. With hands-on instructions and real-world examples, this book takes you from setting up a Netlify account and deploying web apps to optimizing performance.
Web Development on Netlify. Proven strategies for building, deploying, and hosting modern web applications Web Development on Netlify. Proven strategies for building, deploying, and hosting modern web applications
(71.93 zł najniższa cena z 30 dni)
Ebooka "Jenkins 2: Up and Running. Evolve Your Deployment Pipeline for Next Generation Automation" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Jenkins 2: Up and Running. Evolve Your Deployment Pipeline for Next Generation Automation" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Jenkins 2: Up and Running. Evolve Your Deployment Pipeline for Next Generation Automation" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-14-919-7954-9, 9781491979549
- Data wydania ebooka:
- 2018-05-02 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 39.1MB
- Rozmiar pliku Mobi:
- 83.3MB
Spis treści ebooka
- Foreword
- Preface
- How to Use This Book
- Conventions Used in This Book
- Using Code Examples
- OReilly Safari
- How to Contact Us
- Acknowledgments
- 1. Introducing Jenkins 2
- What Is Jenkins 2?
- The Jenkinsfile
- Declarative Pipelines
- Blue Ocean Interface
- New Job Types in Jenkins 2
- Pipeline
- Folder
- Organization
- Multibranch Pipeline
- What Is Jenkins 2?
- Reasons for the Shift
- DevOps Movement
- Assembling Pipelines
- Resumability
- Configurability
- Sharing Workspaces
- Specialized Knowledge
- Access to Logic
- Pipeline Source Management
- Competition
- Meeting the Challenges
- Compatibility
- Pipeline Compatibility
- Plugin Compatibility
- Surviving restarts
- Providing scriptable APIs
- Checking Compatibility
- Summary
- 2. The Foundations
- Syntax: Scripted Pipelines Versus Declarative Pipelines
- Choosing Between Scripted and Declarative Syntax
- Syntax: Scripted Pipelines Versus Declarative Pipelines
- Systems: Masters, Nodes, Agents, and Executors
- Master
- Node
- Agent
- Executor
- Creating Nodes
- A quick note about node labels
- Structure: Working with the Jenkins DSL
- node
- stage
- steps
- Understanding step syntax
- Supporting Environment: Developing a Pipeline Script
- Starting a Pipeline Project
- The Editor
- Working with the Snippet Generator
- Running a Pipeline
- Viewing logs
- Stage View with errors
- Replay
- Summary
- 3. Pipeline Execution Flow
- Triggering Jobs
- Build After Other Projects Are Built
- Build Periodically
- Cron syntax
- GitHub Hook Trigger for GitSCM Polling
- Poll SCM
- Quiet Period
- Trigger Builds Remotely
- Triggering Jobs
- User Input
- input
- Parameters
- Boolean
- Choice
- Credentials
- File
- List Subversion tags
- Multiline String
- Password
- Run
- String
- Return Values from Multiple Input Parameters
- Parameters and Declarative Pipelines
- Using the parameters section
- Using the Jenkins application to parameterize the build
- Using a script block
- Using external code
- Flow Control Options
- timeout
- retry
- sleep
- waitUntil
- Dealing with Concurrency
- Locking Resources with the lock Step
- Controlling Concurrent Builds with Milestones
- Restricting Concurrency in Multibranch Pipelines
- Running Tasks in Parallel
- Traditional parallel syntax
- stash and unstash
- Alternative parallel syntax for Declarative Pipelines
- parallel and failFast
- Conditional Execution
- Post-Processing
- Scripted Pipelines Post-Processing
- try-catch-finally
- catchError
- Scripted Pipelines Post-Processing
- Declarative Pipelines and Post-Processing
- Summary
- 4. Notifications and Reports
- Notifications
- Email
- Jenkins Location
- E-mail Notification
- Sending email in pipelines
- Extended email notifications
- Global configuration
- Content
- Recipients
- Triggers
- Including logs
- Email
- Notifications
- Collaboration Services
- Slack notifications
- Setup in Slack
- Global configuration in Jenkins
- Webhooks in Slack
- Sending Slack notifications in a job
- Slack notifications
- HipChat notifications
- Setup in HipChat for version 1 API use
- Setup in HipChat for version 2 API use
- Global configuration in Jenkins
- Default notifications
- Sending HipChat notifications in a job
- Reports
- Publishing HTML Reports
- Summary
- 5. Access and Security
- Securing Jenkins
- Enabling Security
- Access ControlSecurity Realm
- Delegate to servlet container
- Jenkins own user database
- LDAP
- Unix user/group database
- Access ControlSecurity Realm
- Access ControlAuthorization
- Anyone can do anything
- Legacy mode
- Logged-in users can do anything
- Matrix-based security
- Project-based matrix authorization strategy
- Enabling Security
- Securing Jenkins
- Other Global Security Settings
- Markup formatter
- Agents
- Prevent Cross-Site Request Forgery exploits
- CLI
- Plugin manager
- Hidden security warnings
- SSH server
- Credentials in Jenkins
- Credential Scopes
- Credential Domains
- Credential Providers
- Credential Stores
- Administering Credentials
- Selecting Credential Providers
- Selecting Credential Types
- Specifying Credential Types by Provider
- Creating and Managing Credentials
- Context Links
- Adding a New Domain and Credential
- Using the New Domain and Credential
- Advanced Credentials: Role-Based Access
- Basic Use
- Manage Roles
- Global role example
- Project example
- Slave role example
- Assign Roles
- Dealing with invalid users
- Verifying the roles setup
- Role Strategy Macros
- Working with Credentials in the Pipeline
- Username and Password
- SSH Keys
- Token Credentials
- Controlling Script Security
- Script Checking
- Script Approval
- Groovy Sandboxing
- Using Jenkins Credentials with Vault
- Approach
- Setup
- Creating a Policy
- Authentication
- AppRole
- Using Vault in Jenkins
- Jenkins credentials for Vault
- Using Vault in a Pipeline
- Summary
- 6. Extending Your Pipeline
- Trusted Versus Untrusted Libraries
- Internal Versus External Libraries
- Internal Libraries
- SSH access
- HTTP access
- Internal Libraries
- External Libraries
- Getting a Library from the Source Repository
- Modern SCM
- Legacy SCM
- Using Libraries in Your Pipeline Script
- Automatic Downloading of Libraries from Source Control
- Loading Libraries into Your Script
- The @Library annotation
- The library step
- The libraries directive
- Library Scope Within Jenkins Items
- Library Structure
- Sample Library Routine
- Structure of Shared Library Code
- src
- vars
- Automatic documentation references for global variables
- Using global variables like steps
- resources
- Structure of Shared Library Code
- Using Third-Party Libraries
- Loading Code Directly
- Loading Code from an External SCM
- Replaying External Code and Libraries
- A Closer Look at Trusted Versus Untrusted Code
- Summary
- 7. Declarative Pipelines
- Motivation
- Not Intuitive
- Getting Groovy
- Additional Assembly Required
- Motivation
- The Structure
- Block
- Section
- Directives
- Steps
- Conditionals
- The Building Blocks
- pipeline
- agent
- Labels and custom workspaces
- Agents and Docker
- Using the same node for Docker and non-Docker stages
- environment
- Credentials and environment variables
- tools
- options
- Options summary
- triggers
- Cron syntax
- parameters
- Using parameters in a pipeline
- libraries
- stages
- stage
- steps
- Conditional execution of a stage
- Conditional execution with and, or, not
- post
- Dealing with Nondeclarative Code
- Check Your Plugins
- Create a Shared Library
- Place Code Outside of the Pipeline Block
- The script Statement
- Using parallel in a Stage
- Script Checking and Error Reporting
- Declarative Pipelines and the Blue Ocean Interface
- Summary
- 8. Understanding Project Types
- Common Project Options
- General
- Discard old builds
- Discarding builds in pipeline projects
- Discard old builds
- GitHub project
- Specifying the GitHub project property in pipeline projects
- General
- This project is parameterized
- Throttle builds
- Throttling builds in pipelines
- Common Project Options
- Disable this project
- Disabling Pipeline projects
- Execute concurrent builds if necessary
- Concurrent builds in pipelines
- Restrict where this project can be run
- Pipelines and nodes
- Quiet period
- Pipelines and the quiet period
- Retry count
- Pipelines and retry count
- Block build when upstream project is building
- Block build when downstream project is building
- Waiting for downstream in pipelines
- Use custom workspace
- Custom workspaces and pipelines
- Display name
- Display name and pipelines
- Keep the build logs of dependencies
- Source Code Management
- Repository URL
- Credentials
- Revision
- Source code management in a pipeline
- Build Triggers
- Trigger builds remotely
- Remotely triggering pipeline builds
- Trigger builds remotely
- Building after other projects are built
- Build after other projects in a pipeline
- Build periodically
- Building periodically in a pipeline
- GitHub hook trigger for Git polling
- GitHub triggering in a pipeline
- Poll SCM
- Polling in the pipeline
- Build Environment
- Delete workspace before build starts
- Deleting workspaces in a pipeline
- Delete workspace before build starts
- Provide configuration files
- Managing configuration files in a pipeline
- Abort the build if its stuck
- Timing out builds in a pipeline
- Add timestamps to console output
- Adding timestamps to a pipeline
- Use secret text(s) or files(s)
- Using credentials in a pipeline
- Other build environment options
- Build
- Post-Build Actions
- Post-build actions in a pipeline
- Types of Projects
- Freestyle Projects
- The Maven Project Type
- The Pipeline Project Type
- The External Job Project Type
- The Multiconfiguration Project Type
- Multiconfiguration example
- Pipeline compatibility
- Ivy Projects
- Folders
- Creating a folder
- Creating items in a folder
- Moving existing items into a folder
- Managing permissions for folders
- Multibranch Pipeline Projects
- Configuration
- Branch indexing
- Individual job output and configuration
- Incorporating new branches
- GitHub Organization Projects
- Creating a GitHub Organization project
- Webhooks
- Bitbucket Team/Project Projects
- Summary
- 9. The Blue Ocean Interface
- Part 1: Managing Existing Pipelines
- The Dashboard
- The Project-Specific Page
- Simple pipeline Activity view
- Simple pipeline Branches and Pull Requests views
- Multibranch Pipeline Activity view
- Multibranch Pipeline Branches view
- Multibranch Pipeline Pull Requests view
- The Run Page
- The status banner
- Pipeline
- Step logs
- Changes
- Tests
- Artifacts
- Part 1: Managing Existing Pipelines
- Part 2: Working with the Blue Ocean Editor
- Creating a New Pipeline Without an Existing Jenkinsfile
- Working in the Editor
- Specifying global parts of the pipeline
- Adding a new stage
- Adding a step to a stage
- Saving and committing pipeline changes
- Editing an Existing Pipeline
- Importing and Editing Existing Pipelines
- Simple debugging and editing of an existing pipeline
- Debugging editor issues
- Adding code not supported in the editor
- Working with Pipelines from Non-GitHub Repositories
- Summary
- 10. Conversions
- Common Preparation
- Logic and Accuracy
- Project Type
- Systems
- Access
- Global Configuration
- Plugins
- Shared Libraries
- Common Preparation
- Converting a Freestyle Pipeline to a Scripted Pipeline
- Source
- Compile
- Unit Tests
- Distributing content across nodes
- Cleaning out workspaces
- Integration Testing
- Migrating the Next Parts of the Pipeline
- Source code analysis
- Incorporating an artifact repository
- Setting version information with parameters
- Using containers in a pipeline
- Converting from a Jenkins Pipeline Project to a Jenkinsfile
- Approach
- Migrating parameter usage to Jenkinsfiles
- Approach
- Final Steps
- Including a Jenkinsfile back into a native Jenkins project
- Converting from a Scripted Pipeline to a Declarative Pipeline
- Sample Pipeline
- The Conversion
- Starting at the start
- Adding the libraries directive
- Stages
- Steps
- Post-build processing
- Completed Conversion
- General Guidance for Conversions
- Summary
- 11. Integration with the OS (Shells, Workspaces, Environments, and Files)
- Using Shell Steps
- The sh Step
- set Options
- Language interpreters
- Executing shell scripts from shared libraries
- The sh Step
- The bat Step
- Executing batch scripts from shared libraries
- Using Shell Steps
- The powershell Step
- Executing PowerShell scripts from shared libraries
- Working with Environment Variables
- The withEnv Step
- Working with Workspaces
- Creating a Custom Workspace
- Cleaning a Workspace
- File patterns to be deleted
- Using other delete programs
- Other arguments
- File and Directory Steps
- Working with Files
- Reading files
- Writing files
- Checking for file existence
- Working with Files
- Working with Directories
- dir
- pwd
- deleteDir
- Doing More with Files and Directories
- Summary
- 12. Integrating Analysis Tools
- SonarQube Survey
- Working with Individual Rules
- Quality Gates and Profiles
- The Scanner
- Using SonarQube with Jenkins
- Global Configuration
- Using SonarQube in a Freestyle Project
- Using SonarQube in a Pipeline Project
- Leveraging the Outcome of the SonarQube Analysis
- Setting up the SonarQube webhook
- Processing the SonarQube webhook in the Jenkins DSL
- SonarQube Integration Output with Jenkins
- Code Coverage: Integration with JaCoCo
- About JaCoCo
- Integrating JaCoCo with the Pipeline
- JaCoCo Output Integration with Jenkins
- Summary
- 13. Integrating Artifact Management
- Publishing and Retrieving Artifacts
- Setup and Global Configuration
- Using Artifactory in a Scripted Pipeline
- Performing Other Tasks
- Downloading Specific Files to Specific Locations
- Uploading Specific Files to Specific Locations
- Setting Build Retention Policies
- Build Promotion
- Integration with a Declarative Pipeline
- Artifactory Integration with Jenkins Output
- Archiving Artifacts and Fingerprinting
- Summary
- 14. Integrating Containers
- Configured as a Cloud
- Global Configuration
- Using Docker Images as Agents
- Setting up a Docker cloud templatebasic options
- Container settings
- Using Cloud Images in a Pipeline
- Troubleshooting
- Configured as a Cloud
- Agent Created on the Fly for a Declarative Pipeline
- Docker Pipeline Global Variable
- Global Variables
- Docker Application Global Variable Methods
- withServer
- withRegistry
- withTool
- Docker Image Global Variable Methods
- The inside method
- Docker Container Global Variable Methods
- Running Docker via the Shell
- Summary
- 15. Other Interfaces
- Using the Command-Line Interface
- Using the Direct SSH Interface
- Using the CLI Client
- HTTP mode
- SSH mode
- Remoting mode
- Using the Command-Line Interface
- Using the Jenkins REST API
- Filtering Results
- Initiating Builds
- Obtaining crumbs
- Using the Script Console
- Summary
- 16. Troubleshooting
- Diving into Pipeline Steps
- Dealing with Serialization Errors
- Continuous Passing Style
- Serializing Pipelines
- NotSerializableException
- Handling Nonserializable Errors
- Identifying the Line in Your Script that Caused an Error
- Handling Exceptions in a Pipeline
- Using Nondeclarative Code Within a Declarative Pipeline
- Unapproved Code (Script and Method Approval)
- Unsupported Operations
- System Logs
- Timestamps
- Pipeline Durability Settings
- Summary
- Index
O'Reilly Media - inne książki
-
JavaScript gives web developers great power to create rich interactive browser experiences, and much of that power is provided by the browser itself. Modern web APIs enable web-based applications to come to life like never before, supporting actions that once required browser plug-ins. Some are s...(177.65 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
How will software development and operations have to change to meet the sustainability and green needs of the planet? And what does that imply for development organizations? In this eye-opening book, sustainable software advocates Anne Currie, Sarah Hsu, and Sara Bergman provide a unique overview...(160.65 zł najniższa cena z 30 dni)
177.65 zł
209.00 zł(-15%) -
OpenTelemetry is a revolution in observability data. Instead of running multiple uncoordinated pipelines, OpenTelemetry provides users with a single integrated stream of data, providing multiple sources of high-quality telemetry data: tracing, metrics, logs, RUM, eBPF, and more. This practical gu...(143.65 zł najniższa cena z 30 dni)
152.15 zł
179.00 zł(-15%) -
Interested in developing embedded systems? Since they don't tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate good development practices based on classic software design patterns and new patterns unique to embedded prog...(152.15 zł najniższa cena z 30 dni)
160.65 zł
189.00 zł(-15%) -
If you use Linux in your day-to-day work, then Linux Pocket Guide is the perfect on-the-job reference. This thoroughly updated 20th anniversary edition explains more than 200 Linux commands, including new commands for file handling, package management, version control, file format conversions, an...(92.65 zł najniższa cena z 30 dni)
92.65 zł
119.00 zł(-22%) -
Gain the valuable skills and techniques you need to accelerate the delivery of machine learning solutions. With this practical guide, data scientists, ML engineers, and their leaders will learn how to bridge the gap between data science and Lean product delivery in a practical and simple way. Dav...(245.65 zł najniższa cena z 30 dni)
254.15 zł
299.00 zł(-15%) -
This practical book provides a detailed explanation of the zero trust security model. Zero trust is a security paradigm shift that eliminates the concept of traditional perimeter-based security and requires you to "always assume breach" and "never trust but always verify." The updated edition off...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Decentralized finance (DeFi) is a rapidly growing field in fintech, having grown from $700 million to $100 billion over the past three years alone. But the lack of reliable information makes this area both risky and murky. In this practical book, experienced securities attorney Alexandra Damsker ...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Whether you're a startup founder trying to disrupt an industry or an entrepreneur trying to provoke change from within, your biggest challenge is creating a product people actually want. Lean Analytics steers you in the right direction.This book shows you how to validate your initial idea, find t...(126.65 zł najniższa cena z 30 dni)
126.65 zł
149.00 zł(-15%) -
When it comes to building user interfaces on the web, React enables web developers to unlock a new world of possibilities. This practical book helps you take a deep dive into fundamental concepts of this JavaScript library, including JSX syntax and advanced patterns, the virtual DOM, React reconc...(194.65 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Jenkins 2: Up and Running. Evolve Your Deployment Pipeline for Next Generation Automation Brent Laster (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.